---
updatedAt: 2026-09-04T16:26:47.000Z
---

Fetch the complete documentation index at: https://developers.deliverect.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Glossary - POS Orders

<HTMLBlock>{`
<div class="callout-banner callout-banner--neutral">
  <span class="callout-icon"><i class="fa-regular fa-square-info"></i></span>
  <p>
    <strong>Menu Data</strong><br>
    Please note that all the fields marked with
    <i class="fa-solid fa-circle-check" style="color: #09CC7A;"></i>
    will always be present in the order payload and contain data.
  </p>
</div>
`}</HTMLBlock>

<HTMLBlock>{`
<div class="callout-banner callout-banner--important">
  <span class="callout-icon"><i class="fa-regular fa-triangle-exclamation"></i></span>
  <p><strong>Legacy Attributes</strong><br>
Certain attributes appear in the order payload but should not be referenced as part of an integration and are marked as
<span class="legacy-label">Legacy</span>
  </p>
</div>
`}</HTMLBlock>

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>Parameters</th>
      <th>Meaning</th>
      <th>Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`_created` <i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Order created timestamp is in UTC `yyyy-MM-ddTHH:mm:ssZ`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`_updated`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Updated order timestamp is in UTC `yyyy-MM-ddTHH:mm:ssZ`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`_etag`</td>
      <td>Version hash used for optimistic concurrency control; changes on every update</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`_id`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Unique identifier of the order in Deliverect. Please note cancel requests are processed as new orders with `"status": 100` and bearing original order `_id` (see cancellation guide [here](https://developers.deliverect.com/v1.1-restaurants/docs/how-to-handle-cancellations))</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`account`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Unique customer account ID in Deliverect</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`channelOrderId`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>The full unique ID from the delivery channel. Together with the `channel` is guaranteed to be unique for 48h after pickup.</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`channelOrderDisplayId`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Alternative order ID set by ordering channel, primarily for convenience and readability. This is not unique and typically a shortened version of `channelOrderId`consisting of 4-5 alphanumeric characters, although may go up to 12 characters.</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`channelOrderKey`</td>
      <td>Alternative ID when is supported</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`posId`</td>
      <td>The POS order ID</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`posReceiptId`</td>
      <td>Provided by the POS in response to incoming orders as a reference to a specific POS receipt.</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`posLocationId`</td>
      <td>Location ID set in Deliverect to identify the POS (used as part of [POS Registration](https://developers.deliverect.com/v1.1-restaurants/reference/pos_register) action)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`posStatus`</td>
      <td>Current order status as tracked from the POS side (mirrors `status`)</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>**posStatusHistory**</td>
      <td>History of status changes as reported by the POS</td>
      <td>array</td>
    </tr>

    <tr>
      <td>posStatusHistory.`timeStamp`</td>
      <td>UTC `yyyy-MM-ddTHH:mm:ssZ`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>posStatusHistory.`orderStatus`</td>
      <td>Deliverect order status at time of the POS update</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>posStatusHistory.`posOrderStatus`</td>
      <td>Raw status code as returned by the POS</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`posCustomerId`</td>
      <td>Customer identifier as recognized by the POS</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`location`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Unique ID for the POS to identify the store location</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`locationName`</td>
      <td>Display name of the store/location the order belongs to</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`channelLink`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Unique identifier of the channel (merchant store) in Deliverect. Retrieve all Ids per account via [GET Channel Links](https://developers.deliverect.com/v1.1-restaurants/reference/channel-integrators)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`status`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Order status (see list [here](https://developers.deliverect.com/page/order-status))</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>**statusHistory**</td>
      <td>All status history at time of order injection</td>
      <td></td>
    </tr>

    <tr>
      <td>statusHistory.`timeStamp`</td>
      <td>All timestamps are in UTC `yyyy-MM-ddTHH:mm:ssZ`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>statusHistory.`status`</td>
      <td>Order status (full list [here](https://developers.deliverect.com/page/order-status))</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>statusHistory.`response`</td>
      <td>In case of error, it will be populated here</td>
      <td>string</td>
    </tr>

    <tr>
      <td>statusHistory.`source`</td>
      <td>Source of status update `1`=POS `2`=Channel and `5`= Internal</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>statusHistory.`eventId`</td>
      <td>Internal event ID associated with this status change</td>
      <td>string</td>
    </tr>

    <tr>
      <td>**packaging**</td>
      <td></td>
      <td>object</td>
    </tr>

    <tr>
      <td>packaging.`includeCutlery`</td>
      <td>Specifies if cutlery/utensils should be included or not</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`by`</td>
      <td>Order source (if known) e.g. 'app' or 'mobile' not the same as`"channel"` that specifies the ordering platform (see guide [here](https://developers.deliverect.com/v1.1-restaurants/docs/how-to-recieve-orders)​)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`orderType`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Type of order (see full list [here](https://developers.deliverect.com/v1.1-restaurants/reference/pos_ordercancel#order-types))</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`isCatering`</td>
      <td>Indicates whether the order is flagged as catering</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`tabletless`</td>
      <td>Indicates the order was received without a tablet integration</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`ageCheck`</td>
      <td>Indicates whether an age-restricted item check is required</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`channel`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Unique ID of the channel (see [GET Integrated channels](https://developers.deliverect.com/v1.1-restaurants/reference/channel-integrators))</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>**channelStatusHistory**</td>
      <td>History of status updates exchanged with the channel</td>
      <td>array</td>
    </tr>

    <tr>
      <td>channelStatusHistory.`timeStamp`</td>
      <td>UTC `yyyy-MM-ddTHH:mm:ssZ`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>channelStatusHistory.`channelEvent`</td>
      <td>Event type code sent to the channel</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>channelStatusHistory.`orderStatus`</td>
      <td>Deliverect order status at time of the event</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>channelStatusHistory.`channelStatus`</td>
      <td>Channel-specific status string</td>
      <td>string</td>
    </tr>

    <tr>
      <td>channelStatusHistory.`success`</td>
      <td>Whether the update to the channel succeeded</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>channelStatusHistory.`response`</td>
      <td>Raw response returned by the channel</td>
      <td>string</td>
    </tr>

    <tr>
      <td>channelStatusHistory.`properties`</td>
      <td>Additional event-specific properties (e.g. `pickupTime`)</td>
      <td>object</td>
    </tr>

    <tr>
      <td>`menus`</td>
      <td>Menu ID(s) associated with the order</td>
      <td>array</td>
    </tr>

    <tr>
      <td>`pos`</td>
      <td>Unique ID of the POS</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`rating`</td>
      <td><HTMLBlock>{`
<span class="legacy-label">Legacy</span>
`}</HTMLBlock></td>
      <td>array of objects</td>
    </tr>

    <tr>
      <td>`pickupTime`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Pickup time order timestamp is in UTC `yyyy-MM-ddTHH:mm:ssZ`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`estimatedPickupTime`</td>
      <td>Estimated pickup time order timestamp is in UTC `yyyy-MM-ddTHH:mm:ssZ` <HTMLBlock>{`
<span class="legacy-label">Legacy</span>
`}</HTMLBlock></td>
      <td>string</td>
    </tr>

    <tr>
      <td>`pickupTimeETA`</td>
      <td>Estimated pickup time, if available from the delivery provider</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`preparationTime`</td>
      <td>Quoted preparation time, in minutes</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`prepTimeAdjustments`</td>
      <td>Adjustments applied to the preparation time</td>
      <td>array</td>
    </tr>

    <tr>
      <td>`deliveryTime`</td>
      <td>Delivery time order timestamp is in UTC `yyyy-MM-ddTHH:mm:ssZ`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`deliveryTimeETA`</td>
      <td>Estimated delivery time, if available from the delivery provider</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`deliveryIsAsap`</td>
      <td>Signifies if the order is required as soon as possible</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>**courier**</td>
      <td>Details of courier</td>
      <td></td>
    </tr>

    <tr>
      <td>courier.`firstName`</td>
      <td>Courier's first name</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courier.`lastName`</td>
      <td>Courier's last name</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courier.`phoneNumber`</td>
      <td>Courier's phone number</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courier.`deliveryBy`</td>
      <td>Identifies who is delivering an order. There are only two possible variations; • If ordering platform is handling delivery, they'd specify their channel name e.g. `"Order.com"` • If restaurant is managing self delivery or fulfilment is handled by 3rd party, `"restaurant"` must be specified</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courier.`status`</td>
      <td>See [here](https://developers.deliverect.com/page/order-status#courier-statuses)</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>courier.`count`</td>
      <td>Number of couriers/packages assigned to the delivery</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>**courierUpdateHistory**</td>
      <td></td>
      <td></td>
    </tr>

    <tr>
      <td>courierUpdateHistory.`status`</td>
      <td>See [here ](https://developers.deliverect.com/page/order-status#courier-statuses)all the Statuses</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.`received`</td>
      <td>Timestamp when the update was received</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.`courier`</td>
      <td>Courier info updates</td>
      <td>object</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.courier.`transportType`</td>
      <td>Courier's mode of transport at time of update</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.courier.`lastKnownLocation`</td>
      <td>Courier's last known GPS coordinates</td>
      <td>object</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.courier.`vehicle`</td>
      <td>Courier vehicle details — `type`, `make`, `model`, `isAutonomous`</td>
      <td>object</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.`arrivalTime`</td>
      <td>Courier arrival time</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.`deliveryTime`</td>
      <td>Courier delivery time</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.`source`</td>
      <td>The source from where the update is coming;

`1` = POS, `2`= Channel, `3` = DMA, `4` = Driver, `5` = Internal, `6` = Delivery System, `7` = Manual, `8` = KDS, `9` = Bill to Order Status</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.`externalJobId`</td>
      <td>External delivery job/task ID from the delivery provider</td>
      <td>string</td>
    </tr>

    <tr>
      <td>courierUpdateHistory.`notifyChannel`</td>
      <td>Whether the channel should be notified of this courier update</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`historyDriverUpdates`</td>
      <td><HTMLBlock>{`
<span class="legacy-label">Legacy</span>
`}</HTMLBlock></td>
      <td>array</td>
    </tr>

    <tr>
      <td>`deliveryJobIds`</td>
      <td>Delivery job IDs associated with the order</td>
      <td>array</td>
    </tr>

    <tr>
      <td>`deliverySystems`</td>
      <td>Delivery system(s) engaged for fulfilment</td>
      <td>array</td>
    </tr>

    <tr>
      <td>`failedDeliverySystems`</td>
      <td>Delivery system(s) that failed to fulfil the order</td>
      <td>array</td>
    </tr>

    <tr>
      <td>**customer**</td>
      <td>customer is the end-consumer</td>
      <td>object</td>
    </tr>

    <tr>
      <td>customer.`_id`</td>
      <td>Unique ID of the customer record</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`hash`</td>
      <td>Hashed/anonymized customer identifier</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`name`</td>
      <td>Name of the customer</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`companyName`</td>
      <td>Company name</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`phoneNumber`</td>
      <td>e.g `"+31618776767"`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`phoneAccessCode`</td>
      <td>Phone access code used to contact channel support (e.g. 1123)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`email`</td>
      <td>email address where provided</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`note`</td>
      <td>note from the customer (e.g. "Call once you arrive")</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`tin`</td>
      <td>tax identification number</td>
      <td>string</td>
    </tr>

    <tr>
      <td>customer.`billingAddress`</td>
      <td>Billing address object (e.g. `street`)</td>
      <td>object</td>
    </tr>

    <tr>
      <td>customer.`sendUpdates`</td>
      <td>Whether the customer opted in to receive order updates</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`customers`</td>
      <td>Multiple customers associated with an order (e.g. group/table orders)</td>
      <td>array</td>
    </tr>

    <tr>
      <td>**deliveryAddress**</td>
      <td>Provided address for an order</td>
      <td>object</td>
    </tr>

    <tr>
      <td>deliveryAddress.`street`</td>
      <td>This includes the street number where provided e.g. `"Stationsstraat 79e"`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>deliveryAddress.`postalCode`</td>
      <td>e.g. `"3811 MH"`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>deliveryAddress.`city`</td>
      <td>e.g. `"Amersfoort"`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>deliveryAddress.`country`</td>
      <td>e.g. `"Netherlands"`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>deliveryAddress.coordinates.`coordinates`</td>
      <td>Longitude and Latitude expressed as below;

```
"coordinates": {
  "coordinates": [  
      9.124598503112793,  
      45.50004196166992  
  ],
   "type":"Point"
}
```</td>
      <td>array</td>
    </tr>

    <tr>
      <td>deliveryAddress.`source`</td>
      <td>`"source"` is sent to POS where address information exists. `"source"` should help POS to handle address variations from different countries.</td>
      <td>string</td>
    </tr>

    <tr>
      <td>deliveryAddress.`extraAddressInfo`</td>
      <td>e.g. (second floor)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>**deliveryInfo**</td>
      <td>Delivery logistics details</td>
      <td>object</td>
    </tr>

    <tr>
      <td>deliveryInfo.`packageSize`</td>
      <td>Size classification of the delivery package</td>
      <td>string</td>
    </tr>

    <tr>
      <td>deliveryInfo.`transportType`</td>
      <td>Mode of transport used for delivery</td>
      <td>string</td>
    </tr>

    <tr>
      <td>deliveryInfo.`dropoffType`</td>
      <td>Type of dropoff (e.g. handed to customer, left at door)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`orderIsAlreadyPaid`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Statement of whether an order was paid online or not</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`taxTotal`</td>
      <td>`taxTotal` is the sum of `deliveryTax` + `serviceChargeTax` + `deliveryCostTax`.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>**taxes**</td>
      <td>All taxes applied to an order (in tax exclusive regions only)</td>
      <td></td>
    </tr>

    <tr>
      <td>taxes.`name`</td>
      <td>e.g. VAT</td>
      <td>string</td>
    </tr>

    <tr>
      <td>taxes.`taxClassId`</td>
      <td>e.g 0, 1 or 2</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>taxes.`total`</td>
      <td>The composite total of all taxes</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`taxRemitted`</td>
      <td>Some ordering platforms collect and pay taxes and share this info with us as a value-remitted tax.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>**payment**</td>
      <td></td>
      <td>object</td>
    </tr>

    <tr>
      <td>payment.`amount`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Total amount tendered .
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>payment.`type`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Payment method applied (full list [here](https://developers.deliverect.com/page/pos-payments-taxes-discount-other-charges))</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>payment.`due`</td>
      <td>Any outstanding amount to be collected from the customer if there is a cash (unpaid) order.
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>payment.`rebate`</td>
      <td>This includes any discounts offered by the channels.  POS may need this information for reporting purposes. The ordering customer needs to pay the amount without the rebate, but the restaurant will receive the total amount from the channel.
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>payment.commissionType</td>
      <td>The type of commission rate charged can be categorised by the channel</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`payments`</td>
      <td>Array form of payment records, each with its own `id`; appears alongside the singular `payment` object</td>
      <td>array</td>
    </tr>

    <tr>
      <td>`note`</td>
      <td>Overall note for an order</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`table`</td>
      <td>With 'Eat-in' orders ( `"orderType": 3` ) a table identifier can be sent (see more details [here](https://developers.deliverect.com/page/pos-direct-table-ordering))</td>
      <td>string</td>
    </tr>

    <tr>
      <td>**items**</td>
      <td>All the items included in a order</td>
      <td></td>
    </tr>

    <tr>
      <td>items.`_id`</td>
      <td>Unique identifier of the item line within the order</td>
      <td>string</td>
    </tr>

    <tr>
      <td>items.`plu`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Unique reference for the product</td>
      <td>string</td>
    </tr>

    <tr>
      <td>items.`name`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>The name of the Product and the Modifier</td>
      <td>string</td>
    </tr>

    <tr>
      <td>items.`kitchenName`</td>
      <td>An optional additional name for the product that will be sent through with the order</td>
      <td>string</td>
    </tr>

    <tr>
      <td>items.`price` <i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Price set for the Product and the Modifier.
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>items.`bottleDepositPrice`</td>
      <td>Where a deposit fee has been applied this will show the cost applied</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>items.`quantity`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Quantity of item ordered, for subItems quantity, see guide [here](https://developers.deliverect.com/docs/how-to-interpret-modifiers-and-the-quantity-ordered)</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>items.`productType`<i class="fa-solid fa-circle-check" style="color: #09CC7A;" title="Always present"></i></td>
      <td>Specific type of item [here](https://developers.deliverect.com/reference/insertupdate-products-and-categories#product-types)</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>items.`section`</td>
      <td>Retail category/section name the item belongs to</td>
      <td>string</td>
    </tr>

    <tr>
      <td>items.`ticketSectionId`</td>
      <td>Reference ID linking the item to a kitchen/prep ticket section</td>
      <td>string</td>
    </tr>

    <tr>
      <td>items.`workstations`</td>
      <td>Workstation(s) assigned to prepare the item</td>
      <td>array</td>
    </tr>

    <tr>
      <td>items.`channelItemId`</td>
      <td>Unique item ID as provided by the ordering channel</td>
      <td>string</td>
    </tr>

    <tr>
      <td>items.`remark`</td>
      <td>A note specific to an individual item</td>
      <td>string</td>
    </tr>

    <tr>
      <td>items.`isInternal`</td>
      <td>Non-applicable to generic POS integrations</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>items.`categoryInfo`</td>
      <td>Category metadata for the item (shape not yet observed populated)</td>
      <td>object</td>
    </tr>

    <tr>
      <td>items.`packaging`</td>
      <td>Per-item packaging details — `count`, `reusable`, `packedItems`</td>
      <td>object</td>
    </tr>

    <tr>
      <td>items.`productTags`</td>
      <td>Indicates [the tags](https://developers.deliverect.com/page/custom-tags-and-allergens) contained inside a product</td>
      <td>array</td>
    </tr>

    <tr>
      <td>items.`subItems`</td>
      <td>All subitems are items associated with the product ordered. The quantity is multiplied by however many top-level items are ordered see guide [here](https://developers.deliverect.com/docs/how-to-interpret-modifiers-and-the-quantity-ordered)</td>
      <td>array</td>
    </tr>

    <tr>
      <td>items.subItems.`inBundle`</td>
      <td>Indicates the subItems is contained inside a bundle</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>items.subItems.`modifierAction`</td>
      <td>Specifies the delta of ingredient group modifiers, the action is either `NO` | `ADD` (see guide [here)](https://developers.deliverect.com/page/product-configuration#ingredient-groups--modifier-deltas)</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>items.`isCombo`</td>
      <td>Indicates a product sold is part of a combo</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>items.`sortOrder`</td>
      <td>The 'stepped' order of any auto-applied items, where 0 is the first item to be listed (see guide [here](https://developers.deliverect.com/page/product-configuration#auto-apply))</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>items.`discountReferenceId`</td>
      <td>Singular discount reference — appears alongside `discountReferenceIds`</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>items.`discountReferenceIds`</td>
      <td>An array of identifiers for each discount applied to an item (see guide [here](https://developers.deliverect.com/docs/how-are-discounts-sent))</td>
      <td>array</td>
    </tr>

    <tr>
      <td>items.`unavailableActions`</td>
      <td>Actions not permitted on this item (e.g. substitution, removal, amendment)</td>
      <td>array</td>
    </tr>

    <tr>
      <td>**items.amendedItem**</td>
      <td>Present when an item's quantity or product was changed post-submission (e.g. retail substitution)</td>
      <td>object</td>
    </tr>

    <tr>
      <td>amendedItem.`type`</td>
      <td>`quantity_change` or `substitution`</td>
      <td>string</td>
    </tr>

    <tr>
      <td>amendedItem.`orderItemId`</td>
      <td>ID of the affected order item</td>
      <td>string</td>
    </tr>

    <tr>
      <td>amendedItem.`plu`</td>
      <td>PLU of the originally ordered (pre-amendment) product</td>
      <td>string</td>
    </tr>

    <tr>
      <td>amendedItem.`quantity`</td>
      <td>Original/adjusted quantity</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>amendedItem.`name`</td>
      <td>Original product name</td>
      <td>string</td>
    </tr>

    <tr>
      <td>amendedItem.`price`</td>
      <td>Original product price</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>amendedItem.`snoozedPlus`</td>
      <td>PLU(s) temporarily excluded/snoozed as part of the substitution</td>
      <td>array</td>
    </tr>

    <tr>
      <td>`removedItems`</td>
      <td>Items removed from the order after submission</td>
      <td>array</td>
    </tr>

    <tr>
      <td>`decimalDigits`</td>
      <td>Decimal precision of order and payment amounts</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`numberOfCustomers`</td>
      <td>Indicates how many diners (applicable to table ordering)</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`channelOrderRawId`</td>
      <td>Deliverect internal ID of an order</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`channelOrderHistoryRawIds`</td>
      <td><HTMLBlock>{`
<span class="legacy-label">Legacy</span>
`}</HTMLBlock></td>
      <td></td>
    </tr>

    <tr>
      <td>`reportingHistory`</td>
      <td>Reporting/analytics event history for the order</td>
      <td>array</td>
    </tr>

    <tr>
      <td>`serviceCharge`</td>
      <td>Service charge applied
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`deliveryCost`</td>
      <td>Delivery cost applied
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`fixedCost`</td>
      <td>Fixed cost applied to the order</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`bagFee`</td>
      <td>A surcharge applied for the packaging
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`tip`</td>
      <td>A tip intended for the restaurant operator
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`driverTip`</td>
      <td>A tip intended for the driver/courier

It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`smallOrderFee`</td>
      <td>A surcharge applied by channels who impose minimum basket fees

It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`discountTotal`</td>
      <td>Ordering platforms may offer multiple forms of discount e.g. % discount.

A discount total is sent as a minus value representing the deduction from the total order (see guide [here](https://developers.deliverect.com/docs/how-are-discounts-sent))

It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.</td>
      <td>negative integer</td>
    </tr>

    <tr>
      <td>**discounts**</td>
      <td>All applied discounts within an order</td>
      <td></td>
    </tr>

    <tr>
      <td>discounts.`type`</td>
      <td>Mapped channel discount type from the [list of Discount Types in Deliverect.](https://developers.deliverect.com/page/list-of-discount-types)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>discounts.`provider`</td>
      <td>The issuer of the discount i.e. the one who bears the discounted amount [list of provider types in Deliverect](https://developers.deliverect.com/page/discount-provider-type)</td>
      <td>Enum</td>
    </tr>

    <tr>
      <td>discounts.`name`</td>
      <td>The name of the discount.</td>
      <td>string</td>
    </tr>

    <tr>
      <td>discounts.`channelDiscountCode`</td>
      <td>The unique discount code used by the channel</td>
      <td>string</td>
    </tr>

    <tr>
      <td>discounts.`referenceId`</td>
      <td>A unique identifier of the discount, where applicable, this will show against items included in discount</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>discounts.`value`</td>
      <td>It is the flat amount of money or percentage covered by the discount which is stored with precision 2, so $1.50 -> `150`,# 25.1% -> `2510`</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>discounts.`amount`</td>
      <td>Actual amount discounted e.g. 10% off on $50 bill, the value will be `1000` and amount will be `500`.

It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>discounts. `amountRestaurant`</td>
      <td>The amount of the restaurant's contribution to the discount
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>discounts. `amountChannel`</td>
      <td>The amount of the channel's contribution to the discount

It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`capacityUsages`</td>
      <td><HTMLBlock>{`
<span class="legacy-label">Legacy</span>
`}</HTMLBlock></td>
      <td></td>
    </tr>

    <tr>
      <td>`recent`</td>
      <td><HTMLBlock>{`
<span class="legacy-label">Legacy</span>
`}</HTMLBlock></td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`resolvedBy`</td>
      <td><HTMLBlock>{`
<span class="legacy-label">Legacy</span>
`}</HTMLBlock></td>
      <td>string</td>
    </tr>

    <tr>
      <td>`brandId`</td>
      <td>Appears where customer operates multiple brands from one location [Get account brands](https://developers.deliverect.com/reference/get-accounts-brands)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`testOrder`</td>
      <td>only applicable as '`true`' in staging environment via menu preview orders</td>
      <td>boolean</td>
    </tr>

    <tr>
      <td>`timezone`</td>
      <td>e.g. `"Europe/London"`
(see TZ [list here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones))</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`date`</td>
      <td>Order created date in format `YMD`</td>
      <td>integer</td>
    </tr>

    <tr>
      <td>`tags`</td>
      <td>Custom tag(s) applied to the store location, typically a brand name e.g. `"tags": ["Best Burger"]`</td>
      <td>array</td>
    </tr>

    <tr>
      <td>**_links**</td>
      <td>HATEOAS-style self-reference links for the resource</td>
      <td>object</td>
    </tr>

    <tr>
      <td>_links.self.`title`</td>
      <td>Resource title (e.g. `"order"`)</td>
      <td>string</td>
    </tr>

    <tr>
      <td>_links.self.`href`</td>
      <td>Relative API path to the resource</td>
      <td>string</td>
    </tr>

    <tr>
      <td>`rawPOSOrders`</td>
      <td><HTMLBlock>{`
<span class="legacy-label">Legacy</span>
`}</HTMLBlock> Internal snapshot(s) of the order payload as submitted to/from the POS at each processing stage — for internal debugging use, not intended for integrator consumption</td>
      <td>array</td>
    </tr>
  </tbody>
</Table>