Overview / Catalog / Cancel an unpaid order

Cancel an unpaid order

post https://api.flactrum.com/v1/orders/{order}/cancel

For an order whose payment has NOT been taken. Restores the balance and points spent, puts the ingredients back into stock and moves the order to cancelled, which drops it from the kitchen board. A paid sale is refunded instead — 409 here — because a cancellation never shows as money leaving the till. Send restock: false when the order was made and thrown away; the loss then stays in stock and is reported as waste.

Required scope orders.refund
Success status200
Returns One Order object

Parameters

NameInTypeDescription
order * path string ULID of the record.

Request body

FieldTypeDescription
reason string|null —
restock boolean Whether the ingredients go back into stock. Send false when the product was actually consumed.

Response fields

FieldTypeDescription
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 —

Examples

No recorded example yet.