Your problem is the gap, not the reward
An optician's second sale is 12 to 24 months out. A 10-stamp card would take a decade to finish, so the reward never arrives and the customer stops believing in it. The fix isn't a bigger reward. It's a card that has something to do during the 11 months when nobody is buying frames.
This shows up in the dashboard on day one. Waya's default customer-health bands are Active up to 14 days since the last visit, Slipping up to 30, At risk up to 60, and Lapsed after that. Those defaults were written for cafes and barbershops. In an optical shop, every real customer reads as Lapsed by week 10.
The long gap is also the strongest argument for dropping paper. A paper stamp card has to survive 14 months in a wallet or a kitchen drawer. A wallet pass sits in Apple Wallet or Google Wallet and is still there next year, still showing your logo and the customer's balance. Customers install nothing to get it: they scan your QR code, type a first name and mobile number, and tap once to add the pass.
Give the card something to do between pairs
Use points, not stamps, for purchases. Tickets at an optician run from 45 SAR for a bottle of solution to 1,500 SAR for progressive lenses, and no fixed stamp is fair across that range. A workable setup: 1 point per 10 SAR spent, reward at 150 points, reward is 150 SAR off lenses or a check-up. That's 10% back, so check it against your margin on lenses before you copy it.
Now write down everything you can scan that isn't a big sale. Solution and cases. The two-week fit re-check after a new pair. Ultrasonic cleaning, nose-pad swaps, a tightened screw, a spare pair for the car. Put a token 2 points on the free services if you like, because the points matter less than the scan itself. Each scan updates the last-visit date, refreshes the pass on the phone, and earns you a reason to be on that lock screen later.
Contact lens wearers are what make this work. Someone on monthly lenses buys six times a year, which turns a once-a-year relationship into a near-monthly one on the same card. Ask at handover whether they want their solution added to the card, not at payment.
On the Growth plan you get up to 10 cards, so you can run a second, deliberately slow card beside the points card: 3 stamps for 3 annual eye checks, redeemable for a lens upgrade or a discount on sunglasses. A 36-month stamp card is absurd on paper and perfectly fine in a wallet. Because a mobile number holds one card per program, the same customer can carry both at once.
One household, one card
Waya keys a card to a mobile number, one card per number per program. That single constraint decides how you handle families, and families are where an optician's volume actually lives.
Household mode: enroll the parent once, then scan that same card for every pair in the house. Four pairs of eyes make four to six purchase events a year, so a 150-point reward becomes reachable in one year instead of three. The first-name field at enrollment is the only label you control, so name it for the household ("Ahmed family") rather than the individual.
Per-person mode: each adult enrolls their own number. Reminders then land on the right phone in the right month, which matters when one partner wears monthly lenses and the other replaces frames every two years. Children without phones go on a parent's card. Pick one mode and tell your staff which one, or your dashboard turns into a mix of both.
One limit worth saying out loud: Waya has no notes field and no place for a prescription, and you shouldn't improvise one. Keep powers, diagnoses, and exam results out of the card design, out of the customer name, and out of messages. The card holds a name, a mobile number, a balance, and visit history. Clinical records stay in your own system.
Set the clock in months, not days
Open the Customers screen in the dashboard and edit the health rules. Replace the default 14, 30, and 60-day thresholds with something like 120, 240, and 400. Thresholds have to ascend and the last band is always open-ended, so you end up with a band that means "due for a check-up" instead of one that means "hasn't been in this fortnight."
In the same editor there's a setting that holds brand-new customers out of the recency bands until they've visited more than twice. Set it to 0. Otherwise a customer who bought one pair 14 months ago still reads as New and never appears in the segment you're trying to reach.
Then message the band. A 12-month cadence that holds up: a welcome message at enrollment, one at month 6 asking whether the lens supply is running low, one at month 11 saying the annual check is due, a follow-up 30 days later for the people who didn't come, and one seasonal note before summer for sunglasses. That's about five messages per customer per year, spread across your base rather than sent in one burst.
The volume math is reassuring. Say you have 480 enrolled customers and purchases are spread evenly through the year. Roughly 40 hit their 12-month mark in a given month, and a follow-up to the 25 who ignored the first message brings you to about 65 wallet messages that month. Growth includes 5,000 a month at 85 SAR, so on an annual cycle you're paying for unlimited customers and multiple cards, not for message volume.
Turn on the passive branch-proximity reminder too. It's configured on the Branches screen, and it surfaces the pass on the lock screen when a customer is near your shop, which is useful for a mall optician. Note that a card's own address and maps fields are not the geofence, only the Branches screen is. No SMS is involved anywhere, and no customer's number is handed to a messaging app.
What this setup will not do
There is no POS integration and no hardware. Waya doesn't know a prescription date or when a lens supply runs out. It knows the date of the last scan. Your reminder timing comes from that date and from your own diary, so if staff hand over glasses without scanning the card, the next reminder fires at the wrong time.
There is no SMS. If a customer deleted the pass, your wallet message doesn't reach them and there's no fallback channel. That's the honest cost of a channel that's free to send on.
The free plan holds 100 customers, 100 wallet messages a month, 1 stamp card, and 1 branch, at 0 SAR with no credit card. An optical shop enrolling 30 to 40 people a month crosses 100 in about three months, so treat Free as a real trial rather than a permanent plan. At the cap, already-enrolled customers keep their cards and keep collecting; you just can't add new ones. Growth is 85 SAR a month (867 SAR a year) for unlimited customers, up to 10 cards, 3 branches, and 5 staff accounts.
Compare that against the market before you commit. As of August 2026, Btaqa publishes tiers at 108, 250, and 380 SAR a month; OneCup is around 150 SAR a month; Watily is 149 SAR a month with loyalty bundled into a wider plan; and Niqati, the best-known name in the Saudi market, quotes per shop. Most of them ship wallet passes too, so that isn't the deciding factor. The structural difference is where the price starts, and vendor pages change, so check each one yourself.
Set it up in one afternoon
Order matters. Build the points card first with the 10 SAR to 1 point rule and a 150-point reward, put your logo and shop color on it, print the QR code, and stand it where you hand over the glasses case rather than at the till. The customer already has their phone out at handover, and enrollment takes about ten seconds.
Then widen the health bands, set the new-customer threshold to 0, and schedule nothing for the first month. Wait until you have 30 or 40 cards before you send anything, so your first message isn't going to five people. After that, work the "due for a check-up" band once a month and compare returning customers against the same month last year, because month-over-month means very little in a business that turns over once a year.
Waya runs 100+ shops across Saudi Arabia with 5,000+ customer cards living in wallets, rated 4.9 out of 5 by 90 merchants. The free plan is enough to run this whole setup for your first 100 customers, with no credit card and nothing to install on your customers' phones.
Frequently asked questions
How many stamps should an optician's loyalty card have?
For purchases, don't use stamps at an optician at all — use points. Tickets range from 45 SAR for solution to 1,500 SAR for progressive lenses, so a fixed stamp is either insulting on a big sale or too generous on a small one. A workable rule is 1 point per 10 SAR with a reward at 150 points. Save stamps for a separate slow card, such as 3 annual eye checks for one reward.
Will the card still be on my customer's phone a year later?
Yes. Apple Wallet and Google Wallet passes don't expire and stay installed until the customer deletes them. The pass also updates itself, so a new balance or a message arrives without the customer opening anything. That persistence is the main reason a 12-month cycle works in a wallet and fails on a paper card.
Can a whole family share one loyalty card?
Yes. Waya allows one card per mobile number per program, so a family shares a single card by enrolling one number and scanning it for every purchase in the house. You gain speed toward the reward and lose per-person visit history, and reminders land on whichever phone enrolled. Name the card for the household at enrollment, since the first-name field is the only label you control.
How do I remind a customer that their annual eye exam is due?
Widen your customer-health bands in the dashboard from the default 14, 30, and 60 days to something like 120, 240, and 400, then send a wallet message to the band that now means "about a year since the last visit." The message lands on the phone's lock screen from the pass itself, with no SMS and no app. Waya times this from the last scan, so staff have to scan the card at the exam for the next reminder to be accurate.
Is the free plan enough for an optical shop?
It's enough for a trial, not for a full year. Free covers 100 customers and 100 wallet messages a month at 0 SAR with no credit card, and a shop enrolling 30 to 40 people a month reaches that in roughly three months. After the cap, existing customers keep their cards and keep collecting, and Growth at 85 SAR a month removes the customer limit while raising messages to 5,000.