Customer ordering — how it all flows
Pickup, delivery, dine-in — the order pipeline end-to-end.
1 min read Updated 5/28/2026restaurant-ownercustomer
The lifecycle
Every order moves through these states:
- Pending — customer placed it; awaiting your acknowledgement
- Accepted — you confirmed; kitchen knows
- Preparing — being cooked
- Ready — waiting for pickup or driver
- Delivered — done (auto-triggers payout window)
Two terminal states: Cancelled (by customer or you) and Rejected (by you — out of stock, kitchen closed).
Notifications
At each transition the customer gets:
- An email with the new status + items + total
- An SMS (if you have an SMS provider configured — Twilio / Vonage)
- A push to the live order tracker at
/track/{tenantId}/{orderId}?email={email}
The kitchen sees every new ticket on the Kitchen Display System (coming soon).
Pickup vs delivery vs dine-in
- Pickup — customer collects from the restaurant. No address required.
- Delivery — driver delivers. Address + zone validation required.
- Dine-in — customer is at a table. QR-pay flow handles the bill.
Customers pick the type at checkout. You can disable any of the three under Settings → Ordering.
Customer-facing tracker
After checkout, customers get a "Track this order live" button on the confirmation page. The tracker page (/track/[tenantId]/[orderId]) polls every 4 seconds while the order is live and shows a 5-stage progress bar + full event timeline + ETA + share/copy links + self-cancel button (within the escrow grace period).
Frequently asked
- Not via self-service. Cancellation + re-order is the supported path during the grace window. Direct edits are coming in a future release.
- Restora 360 freezes ordering on the public site outside your opening hours — the storefront shows "Closed" + the next opening time. See [Ordering hours](/docs/management/menu-management) *(coming soon)*.