| id |
string |
— |
| order_number |
string |
— |
| branch_id |
string |
— |
| channel |
string |
Where the sale came from. |
| status |
string |
Payment lifecycle. A kiosk order paid at the counter stays `pending` until POST /orders/{order}/pay. |
| display_number |
string |
Short daily number called out to the customer, e.g. 007. |
| kitchen |
object |
Kitchen stage: `status` is new, preparing, ready, delivered or null (never goes to the kitchen), with the time each stage was reached. |
| customer_id |
string|null |
— |
| customer_name |
string|null |
Free text typed at the kiosk so staff can call the order by name. Unrelated to customer_id, which is a registered loyalty customer. |
| payment_method_id |
string|null |
On a kiosk order this is the method the customer chose; the money is still collected at the counter, so the order stays `pending` until POST /orders/{order}/pay. |
| totals |
object |
total, subtotal, tax, discount, campaign_discount, cost, gross_profit. |
| customer_payment |
object |
How much was covered by balance and points, and what was earned. |
| items |
array |
Prices are frozen at sale time; later menu or campaign changes never alter a past receipt. A line refunded later is split off with `cancelled_at` set and no longer counts toward the totals. |
| payments |
array |
How the money was collected, one entry per method. A split bill (several methods) has several entries; balance and points are in customer_payment. |
| adjustments |
array |
Refunds and waste recorded after the sale, oldest first. |
| note |
string|null |
— |
| ordered_at |
string |
— |