Point expiry protects your balance sheet from ever-growing "liabilities" of un-redeemed points. Vendion lets you configure expiry per restaurant and handles the teardown automatically.
Setting
Marketing → Loyalty → Settings → "Expiry (months)"
- Default: 24 months
- Minimum: 1 month
- Practically recommended: 12–24 months (depending on visit frequency)
How expiry is computed
Expiry is based on inactivity, not when individual points were earned.
The rule:
- Find all earn entries older than the expiry period
- If the guest has not earned or redeemed after that → points expire
- Amount capped to the member's current balance (you can never lose more than you have)
So: a returning guest earning new points "resets the clock" for future expiry.
Nightly expire check
Every night an expiry check runs for all active restaurants:
- Find all earn entries older than the expiry limit
- Sum points not yet redeemed or expired
- Cap to member's current balance
- Write an expire entry in the member history
- Update balance
- Log the reason "Expired after N months"
The job is safe to rerun if a previous run failed – the next run handles anything missed.
Examples
Scenario 1 – Active guest
- Earns 100 pts in January
- Earns 150 pts in June
- Earns 200 pts next January (12 months later)
- Nothing expires – regular activity
Scenario 2 – Inactive guest
- Earns 500 pts in January 2024
- Never returns
- January 2026 (24 months later): 500 pts expire on the next cron
Scenario 3 – Partial redemption then inactivity
- Earns 1,000 pts in January 2024
- Redeems 300 pts in February 2024 (balance: 700)
- Never returns
- January 2026: 700 pts expire (capped to balance)
Communicating expiry to guests
Vendion surfaces expiry dates in:
- Loyalty sidebar (POS): "Your points expire in N days" if under 30 days
- Public loyalty view: Full history with earn dates and computed expiry
Automations to warm up guests before expiry:
Create an automation (Marketing → Automations) that triggers when a guest has more than N points AND last visit is X days ago:
- 60 days before expiry → SMS: "You have 850 points worth about 85 SEK – use them before [date]!"
- 14 days before expiry → SMS: "Last reminder – 850 pts expire soon"
This dramatically increases repeat visits. Treat it as a free sales push.
Adjusting expiry after launch
Increasing expiry (e.g. 12 → 24 months):
- Applies immediately to all future expiry calculations
- Points already expired are not restored
Decreasing expiry (e.g. 24 → 12 months):
- Next expiry check may suddenly expire many points
- Communicate 60+ days in advance via SMS/email
- Or: run a manual adjustment first to reset the "clock" for active guests
Disable expiry entirely?
Set the expiry period to a very high value (e.g. 999 months). Technically expiry still computes but practically nothing happens.
Recommendation: Don't disable. Expiry is important to:
- Protect balance sheet
- Create urgency ("use it or lose it")
- Clean dead members from the system
Troubleshooting
"Guest complains points disappeared"
- Open member profile
- Check the history – look for expire entries
- Reason shows: "Expired after 24 months"
- If the guest has a valid complaint: adjust manually (+N with reason "Goodwill")
"Expiry job didn't run last night"
- Contact Vendion support – we'll check the logs and run the job manually if needed.