> ## Documentation Index
> Fetch the complete documentation index at: https://help.atlas.kitchen/llms.txt
> Use this file to discover all available pages before exploring further.

# Order events

> Order webhook payloads.

Order events use the same `data` shape.

<Info>
  Order event money fields are sent as decimal major currency units for most currencies. For example, Singapore dollars are sent as dollars, not cents.
</Info>

## Event types

| Event type         | Trigger                           |
| ------------------ | --------------------------------- |
| `order.created`    | An order is created.              |
| `order.updated`    | An order is updated.              |
| `order.cancelled`  | An order changes to `cancelled`.  |
| `order.confirmed`  | An order changes to `confirmed`.  |
| `order.completed`  | An order changes to `completed`.  |
| `order.dispatched` | An order changes to `dispatched`. |

## Payload

```json theme={null}
{
  "order_id": 98765,
  "id": 98765,
  "identifier": "A123",
  "state": "confirmed",
  "serving_date": "2026-06-18",
  "subtotal": 28.5,
  "surcharge": 0,
  "delivery_fee": 4,
  "discount": 0,
  "admin_discount": 0,
  "total": 32.5,
  "tax": 2.92,
  "total_including_tax": 35.42,
  "created_at": "2026-06-18T10:15:30+08:00",
  "cancelled_at": null,
  "completed_at": null,
  "promotion_level": null,
  "barcode_identifier": "ATLAS123456",
  "donation": 0,
  "contact_name": "Jane Tan",
  "fulfilment_type": "delivery",
  "timeslot_range": "12:00 PM - 12:30 PM",
  "table": {
    "id": 12,
    "name": "T12"
  },
  "user": {
    "id": 321,
    "email": "jane@example.com",
    "mobile_number": "+6591234567",
    "external_id": "customer-123"
  },
  "outlet": {
    "id": 45,
    "label": "Atlas Cafe",
    "description": "Main outlet",
    "address": "1 Example Street",
    "archived": false
  },
  "promotion": {
    "id": 10,
    "label": "Lunch promo",
    "type": "Promotion",
    "description": "Lunch discount",
    "code": "LUNCH"
  },
  "order_source": {
    "id": 7,
    "source_label": "website",
    "source_type": "Website"
  },
  "payment_type": {
    "id": 3,
    "label": "Credit Card"
  },
  "order_items": [
    {
      "id": 111,
      "item_id": 222,
      "item_sku": "SKU-001",
      "order_item_id": null,
      "modifier_id": null,
      "name": "Chicken bowl",
      "quantity": 1,
      "currency": "SGD",
      "unit_price": 12.5,
      "unit_modifier_price": 2,
      "unit_component_price": 0,
      "type": "Product",
      "order_id": 98765,
      "barcode_identifier": "ATLAS123456",
      "item_total": 14.5,
      "item_discount": 0,
      "tags": ["lunch"],
      "product_tags": ["lunch"],
      "kitchen_tags": ["hot"],
      "report_category": "Mains",
      "voided": false,
      "brand": {
        "id": 55,
        "label": "Atlas Cafe",
        "description": "All-day dining"
      },
      "sections": [
        {
          "id": 66,
          "label": "Bowls",
          "description": "Rice and salad bowls"
        }
      ],
      "sub_items": [
        {
          "id": 112,
          "item_id": 223,
          "item_sku": "SKU-001-MOD",
          "order_item_id": 111,
          "modifier_id": 333,
          "name": "Add avocado",
          "quantity": 1,
          "currency": "SGD",
          "unit_price": 2,
          "unit_modifier_price": 0,
          "unit_component_price": 0,
          "type": "Product",
          "order_id": 98765,
          "barcode_identifier": "ATLAS123456",
          "item_total": 2,
          "item_discount": 0,
          "tags": ["addon"],
          "product_tags": ["addon"],
          "kitchen_tags": [],
          "report_category": "Modifiers",
          "voided": false,
          "brand": {
            "id": 55,
            "label": "Atlas Cafe",
            "description": "All-day dining"
          },
          "sections": [],
          "sub_items": []
        }
      ]
    }
  ]
}
```

`order_items` contains top-level items only.

`sub_items` contains modifiers and nested components attached to a parent item. A sub-item uses the same fields as a top-level order item. The `order_item_id` field points to the parent order item, and `modifier_id` is present when the sub-item came from a modifier.
