Kiosk Mode
Kiosk mode provides a self-service ordering interface on a fixed screen at the restaurant, allowing customers to place orders directly without staff assistance.
Overview
The kiosk is a store-owned device stationed at the restaurant (not a customer's personal phone). It provides a dense, counter-like interface optimized for quick self-service ordering.
Route: /kiosk/[menuSlug]/[tableCode]
How It Works
Accessing the Kiosk
- A tablet or screen is set up at the restaurant counter or entrance.
- The device loads the kiosk URL with the menu slug and a table code (if applicable).
- The kiosk interface appears immediately, ready for customer use.
Experience Flow
- Browse Menu: Items are displayed in a grid layout with categories for filtering.
- Add to Cart: Tap items to add them to the cart. Quantities can be adjusted with +/- buttons.
- Enter Guest Name: If required, the customer enters their name.
- Entry Code: If configured, the customer enters an entry code.
- Place Order: The customer submits the order.
- Success Screen: An order confirmation is displayed with:
- Order number
- Queue number (for pickup)
- Claim code
- Tag identifier (if applicable)
Auto-Reset
The kiosk automatically resets 20 seconds after each order:
- Cart is cleared
- Guest name is cleared
- Entry code is cleared
- The next customer sees a fresh screen
This ensures no customer sees the previous customer's data.
Key Differences from Standard Menu
| Feature | Kiosk Mode | Standard Menu (/m/[slug]) |
| Device | Store-owned fixed screen | Customer's personal device |
| Authentication | None (walk-up) | Optional sign-in |
| Session | Per-customer, auto-resets | Persists per device |
| Layout | Dense counter-style grid | Consumer-friendly layout |
| Checkout | Minimal (name + optional code) | Full checkout with payment |
| Payment | Handled at counter | In-app (MoMo, Card, etc.) |
The kiosk mirrors the POS Counter page's layout (/pos/[branchId]/counter) but is customer-operated. Both use the same backend pipeline for order creation.
Configuration
Kiosk behavior can be configured in the branch's counter settings:
| Setting | Description |
| Counter takeout ordering | Enable/disable kiosk ordering |
| Require entry code | Customers must enter a code to place orders |
| Entry code | The code customers must enter |
| Require guest name | Customers must enter their name |
Settings are managed at: POS > Settings > Counter (/pos/[branchId]/settings/counter)