Home / Help Center / pos-app-bakery / bakery / Kiosk Orders
📋 bakery

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.

📍 Menu path: Bakery → Kiosk Orders
👤 Who uses it: Counter/front-of-house staff — no special permission is enforced beyond normal page access

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

Step-by-Step Guide

1 Monitor incoming orders

  1. The header shows a live count badge of Pending orders next to the "Kiosk Orders" title, plus the time of the last successful sync.
  2. Use the Pending / Confirmed / All Orders tabs to switch which orders the list shows.
  3. 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

  1. 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).
  2. Review the item list, quantities, any per-item or whole-order notes, and the tax/total breakdown at the bottom of the card.
  3. 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

  1. Click Cancel on a Pending order card if it should not be fulfilled (e.g. a mistaken duplicate, or the customer walked away).
  2. The order moves to Cancelled status and disappears from the Pending tab immediately.
💡 Confirm and Cancel are both disabled the moment either action is in progress on that same card, to prevent double-submitting.

Every Field & Button, Explained

Field / ButtonWhat it does
Pending count badgeLive count of orders still awaiting a Confirm/Cancel decision, shown next to the page title.
Pending / Confirmed / All Orders tabsFilters the order list by status; "All Orders" shows every status including Cancelled and Completed.
Last syncThe timestamp of the most recent successful data refresh, updated every 10 seconds automatically.
Refresh buttonForces 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 badgePending (amber), Confirmed (green), Cancelled (red) or Completed (indigo).
Order type badgeDine In (with table number, if given) or Take Away.
Elapsed timeHow long ago the order was placed, shown as seconds/minutes/hours ago.
Payment badgeShows the payment method (UPI/Card/Cash) and a ✓ once payment is confirmed as Paid.
Item linesQuantity × name for each item, with any per-item note in parentheses and its line total.
Order note bannerHighlighted note text if the customer entered a whole-order note (e.g. allergy request) at the kiosk.
Tax summary rowSubtotal plus CGST/SGST/IGST (whichever apply) and the final Total for the order.
ConfirmAccepts a Pending order and attempts to auto-create the matching sale record.
CancelMarks a Pending order as Cancelled with no sale created.

Tips & Best Practices

Troubleshooting & FAQ

A new kiosk order isn't showing up.
The list refreshes every 10 seconds automatically; click Refresh in the header to force an immediate check instead of waiting for the next cycle.
I confirmed an order but got a "Sale not created" message.
The order is still marked Confirmed, but the automatic sale-creation step failed on the backend. Check Sales and bill it manually if no matching sale exists.
Confirm/Cancel buttons are missing on an order.
Those actions only appear on Pending orders — Confirmed, Cancelled and Completed orders are read-only here.
The list says "No pending orders" but I know a customer just paid at the kiosk.
There can be a brief window before the next 10-second refresh; click Refresh to check immediately, and confirm the kiosk itself reached its Thank You screen (payment fully completed) before assuming the order was lost.

🧑‍💻 Developer Notes

Source component(s):

  • frontend-app/packages/pos-react-lib/src/pages/KioskOrdersPage.jsx

Backend endpoints used:

  • GET /kiosk/orders
  • PATCH /kiosk/orders/:id/status

Related tables (db-core repositories):

  • KioskOrder
  • Sale

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.