Waiter / Order Taking
Waiter / Order Taking is a tablet-optimised screen for capturing dine-in orders at the table. Tap a table, browse the menu by category or search, build a cart with per-item notes, then send everything to the kitchen in one tap — the table is automatically marked Occupied and the order becomes a Kitchen Order (KOT).
Overview
The left panel is a table grid grouped by section, colour-coded Available (green) / Occupied (red) / Reserved (blue) / Cleaning (amber); tapping a table opens the order panel and narrows the grid to a sidebar.
Selecting a table auto-loads that table's existing PENDING/PREPARING KOTs into a read-only "Sent to Kitchen" list above the new-order cart, so a waiter adding a second round can see what's already in the kitchen.
Pax defaults to the table's configured seating capacity and can be adjusted with +/- steppers before sending.
Product tiles show the selling price, a "⭐ Special" ribbon for items flagged as today's special, and a greyed-out "86'd" overlay for items marked unavailable — both flags come from the Today's Menu Status / 86 Board pages, not from this screen.
Typing in the search box ignores the active category filter so a search never appears to return zero results because of the currently selected tab.
Every cart line has a quantity stepper and an optional note (kitchen instructions like "no onion"); the whole order can also carry one order-level note.
"Send to Kitchen" always creates the order as a DINE_IN KOT tied to the selected table — this screen has no Takeaway/Delivery option (those are created from the Kitchen Orders (KOT) page or the dedicated Takeaway page instead).
Sending the order does two things in sequence: it posts the new KOT, then marks the table Occupied — the cart is cleared and the "Sent to Kitchen" list is refreshed only after both succeed.
Before You Start
- You must have the Billing feature enabled on your plan, along with the Waiter App feature specifically (the sidebar entry is gated behind the waiter_app feature key).
- Tables must already be set up (see Table Setup) for the table grid to show anything.
Step-by-Step Guide
1 Take a new dine-in order
- Open Waiter / Order Taking and tap an available table from the grid.
- Adjust Pax with the +/- stepper if it differs from the table's default capacity.
- Browse by category tab or type in the search box to find menu items, and tap an item tile to add it to the cart.
- Adjust quantity with the +/- controls on each cart line, and tap the note icon to add a kitchen instruction for that item.
- Add an optional order-level note, then tap "Send to Kitchen."
2 Add a second round to an already-seated table
- Tap the occupied table — its existing PENDING/PREPARING KOTs appear in the "Sent to Kitchen" panel above the cart.
- Add the new items as a normal cart and send — this creates an additional KOT for the same table rather than editing the existing one.
3 Refresh the menu mid-shift
- If a product was just added, priced or 86'd elsewhere, tap the refresh icon next to the search box to reload products and categories without leaving the table you have selected.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Table selection | Auto-fills tableId, tableNumber and section on the order; only tables from GET /restaurant/tables are shown, grouped by section. |
Pax | Defaults to the selected table's capacity; adjustable down to a minimum of 1 with the stepper before sending. |
Cart item price | Snapshotted from the product's selling price at the moment it is added — changing the product's price afterwards does not update items already in the cart. |
Per-item note | Free text sent as that line's notes field to the kitchen (e.g. "no onion", "extra spicy") — hidden behind a small message-icon toggle until clicked. |
Order note | One free-text field sent as the whole KOT's notes, separate from any per-item notes. |
Tips & Best Practices
- The 86'd overlay on a product tile is not editable from here — clear it from Today's Menu Status or the 86 Board first if an item should be orderable again.
- Because search ignores the category filter, you can always find an item by name even while a specific category tab is active.
- Sending an order marks the table Occupied even if it already was — this is harmless for an already-occupied table but is how a fresh Available table becomes Occupied the moment its first order goes in.