Kiosk Orders
Kiosk Orders is the staff-side queue for every order placed on the Self-Order Kiosk — confirm it to start preparing (and create the matching sale), or cancel it if something is wrong, all refreshed automatically every 10 seconds.
Overview
This screen lists every order that customers placed on the Self-Order Kiosk, newest first, with the same items, notes, payment method and tax breakdown the customer saw at checkout.
It auto-refreshes on a 10-second timer, so a staff member watching this screen at the counter sees new kiosk orders appear without touching anything.
Confirming a Pending order attempts to create the matching Sale record on the backend automatically — if that succeeds you get the sale number in the confirmation toast, and if it fails for some reason the order is still confirmed but you're warned that the sale wasn't created.
Before You Start
- At least one order must have been placed through the Self-Order Kiosk for anything to appear here — this page does not create orders itself.
Step-by-Step Guide
1 Monitor incoming orders
- The header shows a live count badge of Pending orders next to the "Kiosk Orders" title, plus the time of the last successful sync.
- Use the Pending / Confirmed / All Orders tabs to switch which orders the list shows.
- The list refreshes automatically every 10 seconds; click Refresh in the header to force an immediate reload instead of waiting.
2 Confirm a pending order
- Each Pending order card shows its order number, Dine In (with table number) or Take Away badge, how long ago it was placed, and a payment badge (method + a ✓ if already paid).
- Review the item list, quantities, any per-item or whole-order notes, and the tax/total breakdown at the bottom of the card.
- Click Confirm to accept the order — BazaarPOS attempts to create the corresponding sale automatically; a success toast shows the new sale number, or an error toast tells you the sale could not be created (the order itself is still marked Confirmed either way).
3 Cancel a pending order
- Click Cancel on a Pending order card if it should not be fulfilled (e.g. a mistaken duplicate, or the customer walked away).
- The order moves to Cancelled status and disappears from the Pending tab immediately.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Pending count badge | Live count of orders still awaiting a Confirm/Cancel decision, shown next to the page title. |
Pending / Confirmed / All Orders tabs | Filters the order list by status; "All Orders" shows every status including Cancelled and Completed. |
Last sync | The timestamp of the most recent successful data refresh, updated every 10 seconds automatically. |
Refresh button | Forces an immediate reload of the order list instead of waiting for the next automatic 10-second cycle. |
Order number (#…) | The kiosk-generated order/token number, matching what the customer saw on their Thank You screen. |
Status badge | Pending (amber), Confirmed (green), Cancelled (red) or Completed (indigo). |
Order type badge | Dine In (with table number, if given) or Take Away. |
Elapsed time | How long ago the order was placed, shown as seconds/minutes/hours ago. |
Payment badge | Shows the payment method (UPI/Card/Cash) and a ✓ once payment is confirmed as Paid. |
Item lines | Quantity × name for each item, with any per-item note in parentheses and its line total. |
Order note banner | Highlighted note text if the customer entered a whole-order note (e.g. allergy request) at the kiosk. |
Tax summary row | Subtotal plus CGST/SGST/IGST (whichever apply) and the final Total for the order. |
Confirm | Accepts a Pending order and attempts to auto-create the matching sale record. |
Cancel | Marks a Pending order as Cancelled with no sale created. |
Tips & Best Practices
- Keep this screen open on a counter tablet or monitor during kiosk operating hours so new orders are noticed the moment they arrive, not just on the next manual refresh.
- If a Confirm shows a "Sale not created" error, check the order manually in Sales — you may need to bill it directly rather than relying on the automatic link.
- Use the payment badge to spot cash orders quickly — those are the ones still needing money collected at the counter.
Troubleshooting & FAQ
A new kiosk order isn't showing up.
I confirmed an order but got a "Sale not created" message.
Confirm/Cancel buttons are missing on an order.
The list says "No pending orders" but I know a customer just paid at the kiosk.
🧑💻 Developer Notes
Source component(s):
frontend-app/packages/pos-react-lib/src/pages/KioskOrdersPage.jsx
Backend endpoints used:
GET /kiosk/ordersPATCH /kiosk/orders/:id/status
Related tables (db-core repositories):
KioskOrderSale
Feature flag key: billing
Mounted at /bakery/kiosk-orders with no minTier restriction. Auto-refresh is a plain client-side setInterval(load, 10000) — there is no push/websocket channel, so this screen must be left open (or manually refreshed) to see new orders promptly. Confirming calls PATCH /kiosk/orders/:id/status with { status: "CONFIRMED" }; the response optionally includes saleId (sale created) or saleError (sale creation failed), both surfaced as toasts.