Redemption Flow
Lock points with redeem, secure with a one-time code, commit with confirm-transaction — from the till or from the app
Spending points has one extra safeguard that earning does not: the moment a redemption starts, its points go on hold — so the same balance can never be promised to two purchases at once.
Beat 1 — Request and Hold
The till starts the redemption with its own redemption number (request redemption). The platform checks everything in one pass — the balance, your ceilings, your daily guards, any reward quota — then places the points on hold.
What a redemption can express | Example |
|---|---|
A discount against the bill | 200 points off the total |
A specific reward | A named voucher — its per-customer quota applies automatically |
Part-payment | Points cover what they can; the rest is paid normally |
Where it happened | The till, the website, the app — recorded with the redemption; when centres are separated, the centre whose points are being spent |
- Asking for more than the customer can spend fails on the spot — before any code is sent — with the reason stated.
- Sending the same redemption again (a crash, a retry) returns the original answer — no duplicate hold, no second code.
- Several redemptions can run at once as long as together they fit the balance.
- With centres separated, only points earned at the named centre — plus points that carry no centre — can be spent there.
Beat 2 — The Customer Approves (when the code is on)
With the one-time code enabled, the customer receives it — on WhatsApp or by SMS — and the till validates it (validate the code). The full story is on the OTP Validation page.
Beat 3 — Confirm
The till confirms (confirm) and the points are deducted — oldest points first. If two confirmations race, exactly one wins; the other is safely ignored. The receipt-style WhatsApp message goes out automatically if Message the member is on, or when the till triggers it.
Redeeming From the App
Patient Profile → Redeem points runs the same three beats as a dialog: the wallet shows what is usable, Lock points reserves the amount (with the centre when points are centre-specific, and optionally the bill value, channel and reason under Advanced), the code step appears if your tenant asks for one, and Confirm redemption completes it — or Release points cancels and frees the hold. A countdown shows how long the lock has left. Closing the dialog with points still locked asks whether to keep the lock or release them.
What You Configure — Settings → Redemption and Settings → OTP
Setting | Your options | Default |
|---|---|---|
Loyalty is switched on | The master switch — off stops earning, redeeming, reversals and uploads | Off |
Ask for a one-time code | On — every redemption needs the customer's code / off — redemptions confirm directly | Off |
Hold points for | Minutes the hold and the whole approval-and-confirm dance may take | 10 |
Maximum points per redemption | The most points spendable in one redemption, for any customer | None |
Ceilings by tier | A different per-redemption maximum for each tier | None |
Daily guards | Per customer per calendar day: points per redemption, redemptions per day, points per day — each independent (see Fraud & Usage Limits) | None |
Per-reward quotas | How many times one customer may ever redeem a specific reward (see Fraud & Usage Limits) | Unlimited |
Message the member | Whether confirming also sends the customer's WhatsApp message | Off |
Changes take effect on the next redemption.
When Things Do Not Finish
Situation | What happens |
|---|---|
Customer walks away | The hold expires on its own with the window — nothing to clean up |
Sale is cancelled | The till releases the redemption; points free instantly (see Pending Redemptions & Release) |
The code could not be sent | The hold is released at once and the till starts again |
Something fails mid-way | Nothing was deducted; start the redemption again |
For developers
Last updated on