A loyalty card that survives longer than a receipt.
Paper cards get left on the counter. Apps get deleted after one visit. Walaa puts a real points or stamp card straight into Apple Wallet or Google Wallet instead, the place on their phone they already keep boarding passes and concert tickets. It updates itself the second a purchase clears. Nothing to download, nothing to log into, nothing for you to print.
Three moves run the entire program.
Points or stamps, picked once per merchant. The mechanic stays plain on purpose, so a scan at the counter takes about ten seconds and nobody has to think twice about it.
Every visit lands on the ledger
A staff scan writes the transaction the moment it happens. Each award carries an ID generated on the device, so a bad connection that retries the same request can't double charge a visit. The balance locks while it's being written, so two scans on the same card can't race each other either.
Spent the second it's earned
A reward becomes redeemable the instant a balance covers its cost, and drops off the active list automatically once it expires, even if nobody remembers to switch it off. Retiring a reward never touches the history sitting behind it.
Mistakes get corrected, not erased
A mis tapped award gets undone with a compensating entry, never an edit to what already happened. One correction per original award, run through the same fraud checks a normal award goes through.
One system, three screens.
The wallet card is what a customer sees. Behind it there's a real counter tool and a real dashboard, both built for the people actually running the shop.
The cashier app
A camera scan pulls up the customer's card before anything gets awarded or redeemed, so staff can actually see who they're dealing with first. A scan that doesn't match, fake code or someone else's business entirely, shows the exact same plain message either way. Nothing about whose card it really is ever leaks through an error.
The merchant dashboard
Rewards, tiers, campaign rules, staff invites, locations, and reports all live in one place. A revenue estimate runs on the merchant's real point conversion rate, not a guessed stamp value, and two CSV exports cover the customer list and the full transaction ledger.
The card-reveal page
A public link shows the exact balance, tier, and next reward, no login. The membership ID is the only credential it needs, the same reasoning the wallet passes themselves run on.
One tap, and it's just... there.
No app, no login, nothing to remember. One tap adds it to Apple Wallet or Google Wallet, and from there it keeps itself current on its own.
- ✓Banner, logo, and progress render the same way on both platforms. Same balance, same math, nothing that's quietly out of sync.
- ✓Nearby notifications work across every location a merchant runs, not just the first one they set up.
- ✓A rate us link sits on the back of every card permanently, no separate app or text message needed to ask for a review.
- ✓Closing an account voids the pass on both platforms. It's checked fresh every time the card is opened, not left to depend on a push notification landing.
Refreshes itself the moment a balance changes, no re-issuing anything, no waiting for them to reopen an app. Confirms the moment they actually add the card too, not just when they click a link to save it. Both platforms, the same way.
Every scan gets checked before it counts.
We run checks at more than one point, some the instant a scan happens, some on a recurring pass afterward. We don't publish exactly how they work. That's not an oversight.
Real time, at the counter
Obvious abuse gets stopped before an award or redemption ever posts, not caught after the fact in a report nobody reads.
Reviewed again, continuously
A second layer runs quietly in the background, looking for patterns that only show up once you're looking at more than a single scan.
Your data stays isolated
A card scanned at the wrong business gets the exact same response as a card that doesn't exist at all. Nothing about who it actually belongs to is ever exposed.
Five automatic nudges. Four ways to reach people on demand.
Automated rules run quietly in the background on their own schedule. Manual messages are for when a merchant wants to say something specific, right now.
Runs on its own
Five campaign rules, each with an enable toggle and a French override.
Dormancy and near reward used to message the same customer every single day the job ran. That's fixed. Both now check a real cooldown before sending again.
Sent on purpose
A merchant picks who hears from them, and when.
A broadcast can go out to everyone at once, or get narrowed down: customers who've gone quiet, customers one visit from a reward, customers who've never redeemed anything, or the shop's highest spenders. Location-based and one-to-one messages work the same way, straight from the customer list.
None of it runs automatically. If a customer gets a message from this list, a person on the other end decided to send it.
Good visits turn into real reviews. Bad ones stay private.
One tap on the back of the card, gated so nobody gets asked the same question twice.
Design it, share the QR, done.
Design the card
Logo, colors, one reward. Preview it in both wallets before a single customer ever sees it.
Share the QR
On the counter, on a receipt, or written to an NFC tag. Nothing for the customer to install.
Watch the ledger
Every scan updates it in real time, and every risky pattern gets caught the same way it always does.
Put the loyalty card in their pocket.
No plastic, no app to delete, and a ledger built to survive a busy Saturday.