ScanOrderPay
How it works · guest mobile

Five taps from the table
to the kitchen.

A walkthrough of the ScanOrderPay guest flow on iOS. The customer scans the table QR, browses the menu in their language, customizes, splits the bill, pays with Apple Pay — and watches the grill in real time.

v1.0 · APR 2026
SCANORDERPAY.AI
6 SCREENS · GUEST
ACT I
Guest lands at the table. Scan, browse the menu, build the order.
Guest
01
SCAN · TABLE QR
Land at the table.

Maria scans the QR taped to table 07. No app install, no signup — the tenant and table are bound to the URL. Language auto-detects EL or EN.

Different Beast · Kifisiá · 20:12
02
BROWSE · LIVE MENU
See what's good.

The menu loads from GET /api/menu/[tenantId]. Greek and English side by side, popular tags, photos where the kitchen uploaded them — placeholders where they didn't.

4 categories · 32 items · EL + EN
03
CUSTOMIZE · MODIFIERS
Make it yours.

Required and optional modifier groups from menu_item_modifiers. Prices update live; the kitchen sees the exact variant — no "ask for pork, hope for the best."

Souvlaki · pork · +pita · +feta
ACT II
Review, split, pay. Stripe handles the money; the kitchen handles the fire.
Guest Kitchen
04
REVIEW · SPLIT BILL
Split it two ways.

One cart, one line per modifier, VAT 24% and optional service broken out. Split toggle divides evenly by party size — each guest pays their own share.

€46.90 total · €23.45 your share
05
PAY · APPLE PAY / CARD
Tap & done.

A Stripe payment intent is created server-side. Apple Pay, Google Pay, card, or pay-at-counter — the order fires to the kitchen only after webhook: payment_intent.succeeded.

Stripe · PCI DSS · 08:14:07
06
TRACK · LIVE KITCHEN
Watch it cook.

A socket opens to the kitchen display. Stages flip in real time — received → preparing → ready → served — with the cook's name and ETA. No more "is it coming?"

Yannis on the grill · ~14 min