Phase 7
Table Map And QR Menu
Phase 7 publishes customer-safe table maps, generates per-table QR codes, opens guest table sessions, builds QR carts, and keeps waiter approval mandatory before POS and KDS.
Plan Gate And Routes
- The SaaS feature key is
qr_ordering. Pro is enabled; lower plans show a locked state. - Tenant command center:
/r/{tenant}/table-map. - QR manager:
/r/{tenant}/qr/tables. - Approval queue:
/r/{tenant}/qr/orders/pending. - Customer mobile menu:
/qr/{token}.
Workflow
- Design a floor in the visual lab, then publish it as a customer-safe
table_layoutssnapshot. - Generate or regenerate QR codes per table. Disabled QR codes cannot open customer sessions.
- Guests scan the QR, start a table session, browse only QR-available menu items, add cart items, and submit for approval.
- Waiters or managers approve pending requests. Approval creates a tenant POS order and sends items to KDS.
- Payments remain in POS cashier; Phase 7 does not add customer online payments.
Smart Upsells And Heatmap
- Upsell rules support cart thresholds, item pairs, category pairs, and unavailable alternatives.
- Every shown suggestion writes an
upsell_impressionsrow for later analysis. - Heatmap data combines paid POS orders, QR scans, submitted carts, approved requests, and rejected requests.
- Heatmap snapshots stay lightweight and do not replace the future reporting module.
Testing Checklist
- Run
php artisan test. - Run
php artisan route:list --path='r/'andphp artisan route:list --path='qr'. - Run
npm run build. - Smoke flow: publish map, regenerate QR, open customer menu, submit cart, approve request, confirm KDS ticket.