Dine-in, pickup and delivery
Opening each context
Section titled “Opening each context”A table’s QR code opens the menu with ?t= — a table number — which always forces dine-in, even if a ?ctx= parameter is also present. A pickup or delivery QR code, or a link you share yourself, opens with ?ctx=pickup or ?ctx=delivery. With neither parameter the menu opens dine-in.
What changes per context
Section titled “What changes per context”Each context can show a different set of items and prices. An item restricted to one context only shows in that context; an item with no restriction shows in all three. In pickup, an item with a pickup price set shows that price instead of its dine-in price. A section whose every item is restricted to the same single context is treated as that context’s own section — useful for a pickup-only combo menu that shouldn’t clutter the dine-in view.
Restricting items and pickup pricing
Section titled “Restricting items and pickup pricing”From the item drawer or with your agent, choose which of dine_in, pickup and delivery an item appears in, and give it a separate pickup_price if it should cost differently to go. Leaving an item unrestricted is the default and the common case — most menus only restrict a handful of items (a dine-in-only plated dessert, say, or a pickup combo).
Pickup orders stay on the diner’s phone
Section titled “Pickup orders stay on the diner’s phone”Pickup is a WhatsApp message the visitor’s own phone composes and sends — it lists what they picked, the total, their pickup time and name, and a short order code, ready to send to your WhatsApp number. Nothing about the order is sent to Qaema or stored on the platform; the platform’s part ends at building that message. Pickup needs the Pro plan or higher — see Links, delivery and follow us for turning it on and setting your WhatsApp number.
Pickup details in Lite POS
Section titled “Pickup details in Lite POS”When staff create a pickup order in Lite POS, Order details requires the recipient’s name and phone number. Enter the phone with + and its country code, for example +966 50 123 4567; Arabic digits and spaces are accepted. The pickup reference stays optional. Saving these details does not send a message or verify the phone number.
An older pickup draft can still be opened, but missing name/phone must be added before starting a new checkout. Checkouts already in progress and historical orders remain recoverable. Counter and table orders do not require these pickup fields.
When a paid pickup order is ready, authorized handover staff on its originating register see the name and last four phone digits. Kitchen-only staff see the order number and preparation details without customer contact information. Customer self-service pickup uses a two-minute rotating QR and a server session of at most ten minutes. Phone OTP verifies possession only and is bound to that session. Payment before preparation is the default; the owner may explicitly acknowledge Pay on arrival for guest pickup only, with payment still required before handover. The sender integration is unavailable until its provider API is supplied, and live mode remains disabled.
With your agent
Section titled “With your agent”Make the katsu bento a pickup-only item at 32 SAR, since we only do the full tray for dine-in
calls set_item_contexts with the item id, contexts: ['pickup'] and pickup_price: 32.
See Visitor menu page for what a diner sees in each context.
Switching tasks in Lite POS
Section titled “Switching tasks in Lite POS”Use Orders, Prepare and Handover to change tasks without changing the signed-in staff member. On a phone these buttons stay at the bottom, below the cart; on a tablet they sit in the compact top bar. Your current order, cart quantities and checkout recovery stay available when you return to Orders. Finish or dismiss an open order-details or menu-review dialog before switching.
Prepare lists tickets assigned to this preparation device. Mark them ready, then open Handover on the originating register to identify the customer and mark the order collected. The task counts exclude completed orders; an unavailable queue shows a dash until it reconnects. Ready and completed keeps recall and ticket history accessible in Prepare; Completed handovers shows collection history.
Owners, managers and cashiers can use all three tasks. Waiters have Orders and Handover; kitchen staff have Prepare. These buttons do not change money permissions. Switch staff is still a separate PIN action, and the normal idle lock still applies. Separate-device order transfer and customer self-service are not enabled by task switching.
Dine-in: serve first, pay after the meal
Section titled “Dine-in: serve first, pay after the meal”On a connected register with an open shift, select Table, add the items and choose Send to kitchen. Staff can prepare and serve this dine-in order while its bill remains unpaid. The cashier returns to the same open bill after the meal, records the payment and completes checkout. Serving does not mark the bill paid, and an unpaid table prevents shift closing.
A waiter on the shared register can send and serve table orders, but cannot take payment or open/close the shift. On a separate waiter phone, transfer the draft to the cashier’s register first. Orders already sent are frozen in this version; additional dishes can be entered as a new table order with a separate bill.
Counter orders still require payment before preparation. Guest pickup keeps its own owner-enabled Pay on arrival rule and requires payment before handover. This dine-in workflow remains in test mode until live fiscal and merchant acceptance is complete.