POST Orders webhook

An order represents what a customer ordered using a channel. It contains the products, prices, and payment information.

Depending on the channel, we can also receive customer info.

A POS that has a cloud API should provide an endpoint online that accepts orders as shown in the examples at the end of this page.

Order Types

The following orderType are available:

TypeInteger Value
pickup1
delivery2
eat in3

Payment Types

The payment types are as follow:

Payment TypeInteger Value
Credit Card Online0
Cash1
On Delivery2
Online3
Credit Card at Door4
PIN at Door5
Voucher at Door6
Meal Voucher7
Bank Contact8
Other9

📘

UTC Time

Note that all time values in our API are in UTC time. Zulu time (UTC) per ISO8601.

Request parameters

The table in the link below displays all order attributes;

*See Order Definitions here

Order Cancellations

There are two possible sources of an order cancellation; one is where the ordering channel initiates the cancellation and the other is when this is set from the POS.

1. Channel Cancellations

You can expect to receive cancel requests from ordering channels to the same endpoint which new orders are sent. Normal scenarios would be where an end-customer no longer wants the order, or it has gone through, but a payment provider returns a rejected status.

A CANCEL request will effectively contain the same payload data as the original order which you reference via it's channelOrderId but will include "status":100, which represents the CANCEL status. (see the example payload number 7 below)

When you receive such an order, you should handle the cancellation according to your existing POS workflow for 'Voiding' orders. This typically involves printing an additional check instructing the restaurant to halt preparation.

Once processed, confirm back to Deliverect the status CANCELLED with "status":110 as per documentation on Updating Order Status.

📘

Identifying Original Orders

The only means of referencing the original order is the channelOrderId (the _id will differ)

2. POS Cancellations

On receipt of an order, it is an option for a POS to process a cancellation. Typical reasons for applying this status is that the restaurant doesn't have required ingredients in stock or there is no time to prepare the order.

A dependency on supporting this feature is that orders are not configured to be auto-accepted. Only where a POS supports manually accepted orders would a cancellation option be appropriate.

This can be done by setting the status CANCELLED with "status":110 as per documentation on Updating Order Status.

A cancelled status will be communicated back to the ordering platform who will in most cases directly inform the end-customer.

Cancellation of Accepted Orders

It is important to note that where a Channel or a POS initiates a cancellation, there are best practises which should be followed depending on whether an 'Accepted' status (20) or higher has already been set.

If your POS has already accepted an order or is configured to auto-accept orders, a cancellation option should no longer be available to POS users.

In the same sense, when channels receive an accepted status (or higher) from your POS, they should not then be sending cancellation requests*

❗️

Channel Cancellations

Channels should disallow customers from cancelling already accepted orders, but may continue to process these via their customer support. In these cases, Deliverect will continue to relay these cancel requests to the POS, so it is advisable that a cancellation workflow proceeds as normal.

Example order payloads

{
  "_created": "2022-04-14T09:43:16.770527Z",
  "_updated": "2022-04-14T09:43:16.823095Z",
  "_id": "6257ecb499979fee50a2d37c",
  "account": "61********************61",
  "channelOrderId": "TEST1649929401",
  "channelOrderDisplayId": "T929401",
  "posId": "",
  "posReceiptId": "",
  "posLocationId": "852",
  "location": "61********************a4",
  "channelLink": "61********************b2",
  "status": 1,
  "statusHistory": [
    {
      "timeStamp": "2022-04-14T09:43:16.896162Z",
      "status": 4,
      "response": "",
      "source": 2
    },
    {
      "timeStamp": "2022-04-14T09:43:16.898737Z",
      "status": 1,
      "response": "",
      "source": 5
    }
  ],
  "packaging": {
    "includeCutlery": false
  },
  "by": "Deliverect",
  "orderType": 2,
  "channel": 1,
  "pos": 10000,
  "rating": [],
  "pickupTime": "2022-04-14T09:43:21.000000Z",
  "deliveryTime": "2022-04-14T09:43:21.000000Z",
  "deliveryIsAsap": true,
  "courier": {
    "deliveryBy": "restaurant"
  },
  "customer": {
    "name": "Jack",
    "companyName": "Deliverect",
    "phoneNumber": "+447711922999",
    "phoneAccessCode": "466 18 762",
    "email": "[email protected]",
    "note": ""
  },
  "deliveryAddress": {
        "street": "Stationplein",
        "streetNumber": "13A",
        "postalCode": "3818 LM",
        "city": "Amersfoort",
        "extraAddressInfo": "Office 128",
        "coordinates": {
            "coordinates": [
                40.741895,
                -73.989308
            ]
        }
    },
  "orderIsAlreadyPaid": true,
  "taxes": [],
  "payment": {
    "amount": 3200,
    "type": 0,
    "due": 0,
    "rebate":100
  },
  "note": "This is a test order",
  "items": [
    {
      "plu": "STK-01",
      "name": "Delicious Steak Frites",
      "sortOrder": 0,
      "price": 1500,
      "quantity": 2,
      "productType": 1,
      "isInternal": false,
      "subItems": [
        {
          "plu": "COOK-03",
          "name": "Well Done",
          "sortOrder": 0,
          "price": 0,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": []
        },
        {
          "plu": "SI-01",
          "name": "Fries",
          "sortOrder": 0,
          "price": 0,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": []
        }
      ]
    }
  ],
  "decimalDigits": 2,
  "numberOfCustomers": 1,
  "channelOrderRawId": "62********************73",
  "channelOrderHistoryRawIds": [],
  "serviceCharge": 300,
  "deliveryCost": 200,
  "bagFee": 0,
  "tip": 100,
  "driverTip": 0,
  "discountTotal": -400,
  "historyDriverUpdates": [
    {
      "orderId": "62********************7c",
      "rawDriverUpdate": "{}",
      "updatedOrigin": 5,
      "wasValidTill": "2022-04-14T09:43:16.898765Z",
      "courier": {}
    }
  ],
  "capacityUsages": [],
  "recent": true,
  "resolvedBy": "",
  "brandId": "61********************60",
  "timezone": "Europe/Amsterdam",
  "date": 20220414
}
{
    "_id":"5c6d830a0182d6000e******",
    "_created":"2019-02-20T16:40:44.000000Z",
    "_updated":"2019-02-20T16:40:52.000000Z",
    "channelOrderId":"******-1527",
    "channelOrderDisplayId":"1527",
    "posLocationId":"30458",
    "location":"5bf02f38c6489f002c******",
    "channelLink":"5bf02f38c6489f002c******",
    "status":1,
    "statusHistory":[
        {
            "_created":"2019-02-20T16:40:42.703000Z",
            "response":"",
            "timeStamp":"2019-02-20T16:40:42.703000Z",
            "status":4
        },
        {
            "_created":"2019-02-20T16:40:42.726000Z",
            "response":"",
            "timeStamp":"2019-02-20T16:40:42.726000Z",
            "status":1
        }
    ],
    "by":"web",
    "orderType":2,
    "channel":2,
    "table":"table 3",
    "pickupTime":"2019-02-20T16:40:42.000000Z",
    "deliveryIsAsap":true,
    "courier":{
        "firstName":"Delivery",
        "lastName":"Rider",
        "phoneNumber":"0032494112233",
        "deliveryBy":"UberEats"
    },
    "customer":{
        "name":"James Bond",
        "companyName":"MI6",
        "phoneNumber":"0032494000007",
        "phoneAccessCode": "12345",
        "email":"[email protected]",
        "note": "Please do not call at arrival. Text messages only",
        "tin":"taxIdentificationNumber"
    },
       "deliveryAddress": {
        "street": "Stationplein",
        "streetNumber": "13A",
        "postalCode": "3818 LM",
        "city": "Amersfoort",
        "extraAddressInfo": "Office 128",
        "coordinates": {
            "coordinates": [
                40.741895,
                -73.989308
            ]
        }
    },
    "orderIsAlreadyPaid":true,
    "payment":{
        "amount":400,
        "type":0
    },
    "note":"",
    "items":[
        {
            "plu":"P1",
            "name":"Product 1",
            "price":200,
            "quantity":1,
            "productType":1,
            "remark":"Don'\\''t add peper",
            "subItems":[
                {
                    "plu":"O1",
                    "name":"Modifier 1/ Option 1",
                    "price":0,
                    "quantity":1,
                    "productType":2,
                    "isInternal":false,
                    "remark":"",
                    "subItems":[
                        
                    ]
                },
                {
                    "plu":"O2",
                    "name":"Modifier 2/ Option 2",
                    "price":200,
                    "quantity":1,
                    "productType":2,
                    "isInternal":false,
                    "remark":"",
                    "subItems":[
                        
                    ]
                }
            ]
        },
        {
            "plu":"P2",
            "name":"Product 2",
            "price":200,
            "quantity":1,
            "productType":1,
            "remark":"Without salt",
            "subItems":[
                {
                    "plu":"O1",
                    "name":"Modifier 1/ Option 1",
                    "price":0,
                    "quantity":1,
                    "productType":2,
                    "isInternal":false,
                    "remark":"",
                    "subItems":[
                        
                    ]
                }
            ]
        }
    ],
    "decimalDigits":2,
    "numberOfCustomers":1,
    "deliveryCost":0,
    "serviceCharge":0,
    "discountTotal":-100,
    "posCustomerId":"256706",
    "account":"5be9c971c6489f0029******",
    "posReceiptId":"",
    "tags":[
        "Brand X",
        "Brand Y"
    ]
}
{
  "_created": "2022-04-14T09:23:11.975473Z",
  "_updated": "2022-04-14T09:23:12.212104Z",
  "_id": "62********************fb", 
  "account": "61********************61",
  "channelOrderId": "TEST1649928196",
  "channelOrderDisplayId": "T928196",
  "posId": "",
  "posReceiptId": "",
  "posLocationId": "852",
  "location": "61********************a4",
  "channelLink": "61********************b2",
  "status": 1,
  "statusHistory": [
    {
      "timeStamp": "2022-04-14T09:23:12.227841Z",
      "status": 4,
      "response": "",
      "source": 2
    },
    {
      "timeStamp": "2022-04-14T09:23:12.232082Z",
      "status": 1,
      "response": "",
      "source": 5
    }
  ],
  "packaging": {
    "includeCutlery": false
  },
  "by": "Deliverect",
  "orderType": 2,
  "channel": 1,
  "pos": 10000,
  "rating": [],
  "pickupTime": "2022-04-14T09:23:16.000000Z",
  "deliveryTime": "2022-04-14T09:23:16.000000Z",
  "deliveryIsAsap": true,
  "courier": {
    "deliveryBy": "restaurant"
  },
  "customer": {
    "name": "",
    "companyName": "",
    "phoneNumber": "",
    "email": "",
    "note": ""
  },
     "deliveryAddress": {
        "street": "Stationplein",
        "streetNumber": "13A",
        "postalCode": "3818 LM",
        "city": "Amersfoort",
        "extraAddressInfo": "Office 128",
        "coordinates": {
            "coordinates": [
                40.741895,
                -73.989308
            ]
        }
    },
  "orderIsAlreadyPaid": true,
  "taxes": [],
  "payment": {
    "amount": 3500,
    "type": 0,
    "due": 0
  },
  "note": "This is a test order",
  "items": [
    {
      "plu": "P-SATE",
      "name": "Chicken Sate",
      "sortOrder": 0,
      "price": 450,
      "quantity": 1,
      "productType": 1,
      "isInternal": false,
      "subItems": [
        {
          "plu": "RICE-01",
          "name": "White Rice",
          "sortOrder": 0,
          "price": 450,
          "quantity": 1,
          "productType": 1,
          "isInternal": false,
          "subItems": [
            {
              "plu": "SAUCE-01",
              "name": "Sate Sauce",
              "sortOrder": 0,
              "price": 50,
              "quantity": 1,
              "productType": 2,
              "isInternal": false,
              "subItems": []
            }
          ]
        },
        {
          "plu": "NOOD-01",
          "name": "Egg Noodles",
          "sortOrder": 0,
          "price": 450,
          "quantity": 1,
          "productType": 1,
          "isInternal": false,
          "subItems": [
            {
              "plu": "SAUCE-02",
              "name": "Hot Sauce",
              "sortOrder": 0,
              "price": 50,
              "quantity": 1,
              "productType": 2,
              "isInternal": false,
              "subItems": []
            }
          ]
        },
        {
          "plu": "NOOD-02",
          "name": "Ramen Noodles",
          "sortOrder": 0,
          "price": 450,
          "quantity": 1,
          "productType": 1,
          "isInternal": false,
          "subItems": [
            {
              "plu": "SAUCE-02",
              "name": "Hot Sauce",
              "sortOrder": 0,
              "price": 50,
              "quantity": 1,
              "productType": 2,
              "isInternal": false,
              "subItems": []
            }
          ]
        }
      ]
    },
    {
      "plu": "P-BRGR",
      "name": "Burger Combo (Drink not Included)",
      "sortOrder": 0,
      "price": 950,
      "quantity": 1,
      "productType": 1,
      "isInternal": false,
      "isCombo": true,
      "subItems": [
        {
          "plu": "P-BURG-CHE",
          "name": "Cheeseburger",
          "sortOrder": 0,
          "price": 0,
          "quantity": 1,
          "productType": 1,
          "isInternal": false,
          "inBundle": true,
          "subItems": []
        },
        {
          "plu": "P-FRS-M",
          "name": "Curly Fries",
          "sortOrder": 0,
          "price": 200,
          "quantity": 1,
          "productType": 1,
          "isInternal": false,
          "subItems": []
        },
        {
          "plu": "DRNK-01",
          "name": "Coca Cola",
          "sortOrder": 0,
          "price": 400,
          "quantity": 1,
          "productType": 1,
          "isInternal": false,
          "subItems": []
        }
      ],
      "pluProps": {
        "S": "1"
      }
    }
  ],
  "decimalDigits": 2,
  "numberOfCustomers": 1,
  "channelOrderRawId": "62********************07",
  "channelOrderHistoryRawIds": [],
  "serviceCharge": 0,
  "deliveryCost": 0,
  "bagFee": 0,
  "tip": 0,
  "driverTip": 0,
  "discountTotal": 0,
  "historyDriverUpdates": [
    {
      "orderId": "62********************fb",
      "rawDriverUpdate": "{}",
      "updatedOrigin": 5,
      "wasValidTill": "2022-04-14T09:23:12.232133Z",
      "courier": {}
    }
  ],
  "capacityUsages": [],
  "recent": true,
  "resolvedBy": "",
  "brandId": "61********************60",
  "timezone": "Europe/Amsterdam",
  "date": 20220414
}
{
  "_created": "2022-04-14T09:25:46.720133Z",
  "_updated": "2022-04-14T09:25:46.789657Z",
  "_id": "6257e89a99979fee50a2d237",
  "account": "61********************61", 
  "channelOrderId": "TEST1649928351",
  "channelOrderDisplayId": "T928351",
  "posId": "",
  "posReceiptId": "",
  "posLocationId": "POS2",
  "location": "61********************76",
  "channelLink": "61********************d2",
  "status": 1,
  "statusHistory": [
    {
      "timeStamp": "2022-04-14T09:25:46.839940Z",
      "status": 4,
      "response": "",
      "source": 2
    },
    {
      "timeStamp": "2022-04-14T09:25:46.842633Z",
      "status": 1,
      "response": "",
      "source": 5
    }
  ],
  "packaging": {
    "includeCutlery": false
  },
  "by": "Deliverect",
  "orderType": 2,
  "channel": 1,
  "pos": 10000,
  "rating": [],
  "pickupTime": "2022-04-14T09:25:51.000000Z",
  "deliveryTime": "2022-04-14T09:25:51.000000Z",
  "deliveryIsAsap": true,
  "courier": {
    "deliveryBy": "restaurant"
  },
  "customer": {
    "name": "",
    "companyName": "",
    "phoneNumber": "",
    "email": "",
    "note": ""
  },
     "deliveryAddress": {
        "street": "Stationplein",
        "streetNumber": "13A",
        "postalCode": "3818 LM",
        "city": "Amersfoort",
        "extraAddressInfo": "Office 128",
        "coordinates": {
            "coordinates": [
                40.741895,
                -73.989308
            ]
        }
    },
  "orderIsAlreadyPaid": true,
  "taxes": [
    {
      "name": "taxes",
      "taxClassId": 0,
      "total": 72
    }
  ],
  "taxTotal": 72,
  "payment": {
    "amount": 872,
    "type": 0,
    "due": 0
  },
  "note": "This is a test order",
  "items": [
    {
      "plu": "P-BURG-CHK",
      "name": "Chicken Burger",
      "sortOrder": 0,
      "price": 800,
      "quantity": 1,
      "productType": 1,
      "isInternal": false,
      "subItems": []
    }
  ],
  "decimalDigits": 2,
  "numberOfCustomers": 1,
  "channelOrderRawId": "62********************74",
  "channelOrderHistoryRawIds": [],
  "serviceCharge": 0,
  "deliveryCost": 0,
  "bagFee": 0,
  "tip": 0,
  "driverTip": 0,
  "discountTotal": 0,
  "historyDriverUpdates": [
    {
      "orderId": "62********************37",
      "rawDriverUpdate": "{}",
      "updatedOrigin": 5,
      "wasValidTill": "2022-04-14T09:25:46.842826Z",
      "courier": {}
    }
  ],
  "capacityUsages": [],
  "recent": true,
  "resolvedBy": "",
  "brandId": "61********************60",
  "timezone": "Europe/Amsterdam",
  "date": 20220414
}
{
  "_created": "2022-04-14T09:43:16.770527Z",
  "_updated": "2022-04-14T09:43:16.823095Z",
  "_id": "62********************7c",
  "account": "61********************61",
  "channelOrderId": "TEST1649929401",
  "channelOrderDisplayId": "T929401",
  "posId": "",
  "posReceiptId": "",
  "posLocationId": "852",
  "location": "61********************a4",
  "channelLink": "61********************b2",
  "status": 1,
  "statusHistory": [
    {
      "timeStamp": "2022-04-14T09:43:16.896162Z",
      "status": 4,
      "response": "",
      "source": 2
    },
    {
      "timeStamp": "2022-04-14T09:43:16.898737Z",
      "status": 1,
      "response": "",
      "source": 5
    }
  ],
  "packaging": {
    "includeCutlery": false
  },
  "by": "Deliverect",
  "orderType": 2,
  "channel": 1,
  "pos": 10000,
  "rating": [],
  "pickupTime": "2022-04-14T09:43:21.000000Z",
  "deliveryTime": "2022-04-14T09:43:21.000000Z",
  "deliveryIsAsap": true,
  "courier": {
    "deliveryBy": "restaurant"
  },
  "customer": {
    "name": "Jack",
    "companyName": "Deliverect",
    "phoneNumber": "+32934573344",
    "email": "[email protected]",
    "note": ""
  },
     "deliveryAddress": {
        "street": "Stationplein",
        "streetNumber": "13A",
        "postalCode": "3818 LM",
        "city": "Amersfoort",
        "extraAddressInfo": "Office 128",
        "coordinates": {
            "coordinates": [
                40.741895,
                -73.989308
            ]
        }
    },
  "orderIsAlreadyPaid": true,
  "taxes": [],
  "payment": {
    "amount": 3200,
    "type": 0,
    "due": 0
  },
  "note": "This is a test order",
  "items": [
    {
      "plu": "STK-01",
      "name": "Delicious Steak Frites",
      "sortOrder": 0,
      "price": 1500,
      "quantity": 2,
      "productType": 1,
      "isInternal": false,
      "subItems": [
        {
          "plu": "COOK-03",
          "name": "Well Done",
          "sortOrder": 0,
          "price": 0,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": []
        },
        {
          "plu": "SI-01",
          "name": "Fries",
          "sortOrder": 0,
          "price": 0,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": []
        }
      ]
    }
  ],
  "decimalDigits": 2,
  "numberOfCustomers": 1,
  "channelOrderRawId": "62********************73",
  "channelOrderHistoryRawIds": [],
  "serviceCharge": 300,
  "deliveryCost": 200,
  "bagFee": 0,
  "tip": 100,
  "driverTip": 0,
  "discountTotal": -400,
  "historyDriverUpdates": [
    {
      "orderId": "62********************7c",
      "rawDriverUpdate": "{}",
      "updatedOrigin": 5,
      "wasValidTill": "2022-04-14T09:43:16.898765Z",
      "courier": {}
    }
  ],
  "capacityUsages": [],
  "recent": true,
  "resolvedBy": "",
  "brandId": "61********************60",
  "timezone": "Europe/Amsterdam",
  "date": 20220414
}
{
  "_created": "2022-04-14T10:08:16.948767Z",
  "_updated": "2022-04-14T10:08:16.995266Z",
  "_id": "6257f290e3d9a857e3c48584",
  "account": "618a2c5306a6208df4e9d061",
  "channelOrderId": "TEST1649930901",
  "channelOrderDisplayId": "T930901",
  "posId": "",
  "posReceiptId": "",
  "posLocationId": "852",
  "location": "61********************a4",
  "channelLink": "61********************b2",
  "status": 1,
  "statusHistory": [
    {
      "timeStamp": "2022-04-14T10:08:17.037667Z",
      "status": 4,
      "response": "",
      "source": 2
    },
    {
      "timeStamp": "2022-04-14T10:08:17.041092Z",
      "status": 1,
      "response": "",
      "source": 5
    }
  ],
  "packaging": {
    "includeCutlery": false
  },
  "by": "Deliverect",
  "orderType": 2,
  "channel": 1,
  "pos": 10000,
  "rating": [],
  "pickupTime": "2022-04-14T10:08:21.000000Z",
  "deliveryTime": "2022-04-14T10:08:21.000000Z",
  "deliveryIsAsap": true,
  "courier": {
    "deliveryBy": "restaurant"
  },
  "customer": {
    "name": "",
    "companyName": "",
    "phoneNumber": "",
    "email": "",
    "note": ""
  },
     "deliveryAddress": {
        "street": "Stationplein",
        "streetNumber": "13A",
        "postalCode": "3818 LM",
        "city": "Amersfoort",
        "extraAddressInfo": "Office 128",
        "coordinates": {
            "coordinates": [
                40.741895,
                -73.989308
            ]
        }
    },
  "orderIsAlreadyPaid": true,
  "taxes": [],
  "payment": {
    "amount": 1200,
    "type": 0,
    "due": 0
  },
  "note": "This is a test order",
  "items": [
    {
      "plu": "PIZZ-00",
      "name": "Build your own Pizza",
      "sortOrder": 0,
      "price": 800,
      "quantity": 1,
      "productType": 1,
      "isInternal": false,
      "subItems": [
        {
          "plu": "PEPP",
          "name": "Pepperoni",
          "sortOrder": 0,
          "price": 0,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": [],
          "pluProps": {
            "O": "0"
          }
        },
        {
          "plu": "BAC",
          "name": "Bacon",
          "sortOrder": 0,
          "price": 100,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": [],
          "pluProps": {
            "O": "1"
          }
        },
        {
          "plu": "RONION",
          "name": "Red Onion",
          "sortOrder": 0,
          "price": 100,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": [],
          "pluProps": {
            "O": "1"
          }
        },
        {
          "plu": "MUSH",
          "name": "Mushroom",
          "sortOrder": 0,
          "price": 100,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": [],
          "pluProps": {
            "O": "1"
          }
        },
        {
          "plu": "REDPEPP",
          "name": "Red Pepper",
          "sortOrder": 0,
          "price": 100,
          "quantity": 1,
          "productType": 2,
          "isInternal": false,
          "subItems": [],
          "pluProps": {
            "O": "1"
          }
        }
      ]
    }
  ],
  "decimalDigits": 2,
  "numberOfCustomers": 1,
  "channelOrderRawId": "62********************7a",
  "channelOrderHistoryRawIds": [],
  "serviceCharge": 0,
  "deliveryCost": 0,
  "bagFee": 0,
  "tip": 0,
  "driverTip": 0,
  "discountTotal": 0,
  "historyDriverUpdates": [],
  "capacityUsages": [],
  "recent": true,
  "resolvedBy": "",
  "brandId": "61********************60",
  "timezone": "Europe/Amsterdam",
  "date": 20220414
}
{
    "_id":"5c4aa35841e5b528e0******",
    "_created":"2019-02-20T16:40:44.000000Z",
    "_updated":"2019-02-20T16:40:52.000000Z",
    "channelOrderId":"******-1527",
    "channelOrderDisplayId":"1527",
    "posLocationId":"30458",
    "location":"5bf02f38c6489f002c******",
    "channelLink":"5bf02f38c6489f002c******",
    "status":100,
    "statusHistory":[
        {
            "_created":"2019-02-20T16:40:42.703000Z",
            "response":"",
            "timeStamp":"2019-02-20T16:40:42.703000Z",
            "status":4
        },
        {
            "_created":"2019-02-20T16:40:42.726000Z",
            "response":"",
            "timeStamp":"2019-02-20T16:40:42.726000Z",
            "status":1
        }
    ],
    "by":"",
    "orderType":2,
    "channel":2,
    "pickupTime":"2019-02-20T16:40:42.000000Z",
    "deliveryIsAsap":false,
    "courier":{
        "firstName":"Delivery",
        "lastName":"Rider",
        "phoneNumber":"0032494112233",
        "deliveryBy":"UberEats"
    },
    "customer":{
        "name":"Customer name",
        "companyName":"Deliverect",
        "phoneNumber":"0123456789",
        "phoneAccessCode": "12345",
        "email":"[email protected]"
    },
      "deliveryAddress": {
        "street": "Stationplein",
        "streetNumber": "13A",
        "postalCode": "3818 LM",
        "city": "Amersfoort",
        "extraAddressInfo": "Office 128",
        "coordinates": {
            "coordinates": [
                40.741895,
                -73.989308
            ]
        }
    },
    "orderIsAlreadyPaid":true,
    "payment":{
        "amount":400,
        "type":0
    },
    "note":"",
    "items":[
        {
            "plu":"P1",
            "name":"Product 1",
            "price":200,
            "quantity":1,
            "productType":1,
            "subItems":[
                {
                    "plu":"O1",
                    "name":"Modifier 1/ Option 1",
                    "price":0,
                    "quantity":1,
                    "productType":2,
                    "isInternal":false,
                    "subItems":[
                        
                    ]
                },
                {
                    "plu":"O2",
                    "name":"Modifier 2/ Option 2",
                    "price":200,
                    "quantity":1,
                    "productType":2,
                    "isInternal":false,
                    "subItems":[
                        
                    ]
                }
            ]
        },
        {
            "plu":"P2",
            "name":"Product 2",
            "price":200,
            "quantity":1,
            "productType":1,
            "subItems":[
                {
                    "plu":"O1",
                    "name":"Modifier 1/ Option 1",
                    "price":0,
                    "quantity":1,
                    "productType":2,
                    "isInternal":false,
                    "subItems":[
                        
                    ]
                }
            ]
        }
    ],
    "decimalDigits":2,
    "numberOfCustomers":1,
    "deliveryCost":0,
    "serviceCharge":0,
    "discountTotal":0,
    "posCustomerId":"256706",
    "account":"5be9c971c6489f0029******",
    "posReceiptId":"",
    "tags":[
        "Brand X",
        "Brand Y"
    ]
}
{
    "_id":"5c6d830a0182d6000e******",
    "_created":"2019-02-20T16:40:44.000000Z",
    "_updated":"2019-02-20T16:40:52.000000Z",
    "channelOrderId":"******-1527",
    "channelOrderDisplayId":"1527",
    "posLocationId":"30458",
    "location":"5bf02f38c6489f002c******",
    "channelLink":"5bf02f38c6489f002c******",
    "status":1,
    "statusHistory":[
        
    ],
    "by":"web",
    "orderType":2,
    "channel":2,
    "table":"table 3",
    "pickupTime":"2019-02-20T16:40:42.000000Z",
    "deliveryIsAsap":false,
    "courier":{
        "firstName":"Delivery",
        "lastName":"Rider",
        "phoneNumber":"0032494112233",
        "deliveryBy":"UberEats"
    },
    "customer":{
        "name":"James Bond",
        "companyName":"MI6",
        "phoneNumber":"0032494000007",
        "phoneAccessCode": "12345",
        "email":"[email protected]"
    },
      "deliveryAddress": {
        "street": "Stationplein",
        "streetNumber": "13A",
        "postalCode": "3818 LM",
        "city": "Amersfoort",
        "extraAddressInfo": "Office 128",
        "coordinates": {
            "coordinates": [
                40.741895,
                -73.989308
            ]
        }
    },
    "orderIsAlreadyPaid":true,
    "payment":{
        "amount":350,
        "type":0
    },
    "note":"",
    "items":[
        {
            "plu":"PR05",
            "name":"Awesome Drink",
            "sortOrder":0,
            "price":250,
            "bottleDepositPrice":0,
            "quantity":1,
            "productType":1,
            "isInternal":false,
            "subItems":[
                
            ]
        },
        {
            "plu":"PR06",
            "name":"Bottle Deposit",
            "sortOrder":0,
            "price":100,
            "quantity":1,
            "productType":1,
            "isInternal":false,
            "subItems":[
                
            ]
        }
    ],
    "decimalDigits":2,
    "numberOfCustomers":1,
    "deliveryCost":0,
    "serviceCharge":0,
    "discountTotal":0,
    "posCustomerId":"256706",
    "account":"5be9c971c6489f0029******",
    "posReceiptId":"",
    "tags":[
        "Brand X",
        "Brand Y"
    ]
}

Response
We assume this endpoint to respond quickly. You are encouraged to do things asynchronously. When everything has been done, just call the update order status endpoint to let us know. When you receive an order successfully, we expect a HTTP 200 or 201 status response back. Any other HTTP status will cause the order to be retried after a couple of seconds. After a couple of failed retries, we will mark the order as failed.

Content-Type: application/json