Self-order kiosk
Goal
Let guests build an order on a kiosk terminal and send it to the kitchen; payment stays at the counter unless your policies say otherwise.
Who it is for
Staff who set up the device (pos.view); guests use the kiosk UI. Profile must include capability self_order_kiosk.
Preconditions
- Terminal preferably
register_typekiosk, active, with open session if your settle path requires it. - Capability enabled on the POS profile; order types allowed in kiosk policies (
dine_in/takeaway). - Menu / modifiers published for restaurant layouts.
Steps
- Open Self-Order Kiosk (
/kiosk). Staff picks terminal (stored asbos.kiosk.terminal_id). - Flow: loading → setup → welcome → order type → menu (+ modifiers) → review → confirmation.
- Optional guest name when policy
require_guest_nameis on. - Submit creates a restaurant order with
send: trueandmetadata.source: 'kiosk'(POST /v1/pos/restaurant/orders) — typically pay at counter. - Idle timeout (default ~90s, min 20) resets to welcome.
Result
Kitchen receives the ticket; guest sees confirmation. Staff settles payment on frontline/waiter as configured.
Hard stops
- Self-ordering is not enabled (capability missing).
- No suitable terminal / inactive register.
- Item sold out (86) or off menu.