Skip to content
Merchant guide
HTTPS · Signed events

kitchen.status_changed — V2 event (envelope + data)

It reaches you on every kitchen status transition — from the queue to preparation to hand-off — with the order and branch context.

Reviewed against implementation
YOUR INTEGRATION, AT A GLANCE
kitchen.status_changed — full payload example
{
  "id": "mwh:kitchen-status-changed:9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b:3f0c8e6a-1d24-4b7f-9a3e-2c5b8d90f1aa:1",
  "type": "kitchen.status_changed",
  "api_version": "v2",
  "tenant_id": "9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b",
  "data": {
    "order_id": "3f0c8e6a-1d24-4b7f-9a3e-2c5b8d90f1aa",
    "receipt_number": "RCP-20261020-1482",
    "order_type": "DELIVERY",
    "customer_name": "Ahmed Mahmoud",
    "customer_phone": "+201001234567",
    "previous_kitchen_status": "QUEUED",
    "kitchen_status": "IN_PREP",
    "table_number": null,
    "branch_id": "4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a",
    "changed_at": "2026-10-20T12:41:58.104337+00:00"
  }
}
See the implementation
On this page

01When does it fire?

  • On every real kitchen status transition of an order (restaurant orders) — from the KDS or the POS.
  • A same-value write generates no event — the transition must be real.
  • Every transition carries a <seq> suffix in its identity — the same rule as order.status_changed.

02Full payload example

kitchen.status_changed — full payload example
{
  "id": "mwh:kitchen-status-changed:9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b:3f0c8e6a-1d24-4b7f-9a3e-2c5b8d90f1aa:1",
  "type": "kitchen.status_changed",
  "api_version": "v2",
  "tenant_id": "9e8d7c6b-5a4f-4e3d-2c1b-0a9f8e7d6c5b",
  "data": {
    "order_id": "3f0c8e6a-1d24-4b7f-9a3e-2c5b8d90f1aa",
    "receipt_number": "RCP-20261020-1482",
    "order_type": "DELIVERY",
    "customer_name": "Ahmed Mahmoud",
    "customer_phone": "+201001234567",
    "previous_kitchen_status": "QUEUED",
    "kitchen_status": "IN_PREP",
    "table_number": null,
    "branch_id": "4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a",
    "changed_at": "2026-10-20T12:41:58.104337+00:00"
  }
}

03data fields

FieldMeaning
order_id / receipt_numberThe order id and receipt number.
order_typeThe order type.
customer_name / customer_phoneThe customer name and phone from the order.
previous_kitchen_statusThe kitchen status before the transition.
kitchen_statusThe kitchen status after the transition — e.g. IN_PREP.
table_numberThe table number for dine-in orders — null otherwise.
branch_idThe branch id (UUID).
changed_atThe transition time, ISO 8601.

04Event identity

Pattern: mwh:kitchen-status-changed:<tenant_id>:<order_id>:<seq> — the resource is the order itself, with an ordinal per transition.