Customers, Loyalty, Reservations, And Reminders
Phase 9 adds tenant-local guest relationship workflows. POS customer snapshots, QR guest sessions, paid order history, loyalty points, coupons, gift cards, reservations, waitlist, and reminders are unified without creating a central customer database.
Plan Gates
- Customers are enabled on every plan.
- Loyalty and reservations are enabled on Growth and Pro plans.
- Gift cards and SMS/WhatsApp reminders are Pro-only.
- Email reminders are Growth and Pro, using Mailpit/log mail safely in local/demo environments.
Customer Matching
- Phone and email are normalized before matching.
- Exact normalized phone/email matches link automatically.
- Ambiguous duplicates create review notes instead of unsafe auto-merges.
- Orders retain the original customer snapshot for receipts even after profile linking.
Loyalty
Earning
- Points are earned when an order becomes paid.
- Earn amount is based on subtotal after discounts.
- Duplicate payment or webhook reconciliation events stay idempotent.
- Refunds and voids create reversing ledger entries.
Redemption
- Points redeem into POS discounts through the loyalty service.
- Minimum redemption and point value are configurable.
- The ledger preserves earned, redeemed, expired, adjusted, and reversed entries.
Coupons And Gift Cards
- Coupons support fixed or percentage discounts, branch and service-mode targeting, spend minimums, usage limits, and customer eligibility rules.
- Coupon application uses the same POS discount service path used by cashiers.
- Gift cards use opaque codes, hashed lookup, one-time visible code display, non-negative balances, and a transaction ledger.
- Gift card redemption is a tenant-local POS payment tender.
Reservations And Waitlist
- Reservations are branch/time/party-size records first, with optional assigned tables.
- Assigned-table overlaps are blocked unless a manager override reason is supplied.
- Branch capacity overbooking is stored as warning metadata.
- Waitlist entries can be prioritized, quoted, assigned to tables, and seated with an event trail.
Reminders
- Default reservation schedules include immediate confirmation, 24-hour reminder, and 2-hour reminder.
- Email uses the configured Laravel mailer, including Mailpit/log for sandbox testing.
- SMS and WhatsApp use Twilio only when configured and plan-enabled; otherwise attempts are logged as skipped.
- Every attempt records channel, destination, provider response, retry count, skipped state, or failure reason.
Important Routes
/r/{tenant}/customerscustomer command center./r/{tenant}/loyalty/settingsloyalty settings and ledger./r/{tenant}/couponscoupon rule builder./r/{tenant}/gift-cardsgift card desk./r/{tenant}/reservationsreservation calendar./r/{tenant}/waitlistwaitlist board./r/{tenant}/reminders/settingsreminder settings and test sends.