Glossary - Channel Orders
ⓘ Required Data
Please note that all the fields marked with * are required.
Parameters | Meaning | Type |
---|---|---|
channelOrderId * | The full unique ID from the ordering channel, cannot be reused within 48hr after pickup (across all accounts) | string |
channelOrderDisplayId * | A more human‑readable order reference to provide | string |
validationId | Returned from the dispatch availability endpoint, cannot be reused and is valid for 10 minutes from generation. If expired validationId is sent, the request fails with error 417 | string |
orderType * | Order Types are described here. | integer |
deliveryIsAsap * | Boolean indicating whether delivery is ASAP | boolean |
pickupTime | Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601*(for delivery, pickup and any non-asap order) | string |
deliveryTime | Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601(required for non‑ASAP delivery orders) | string |
placedTime | Time when the order was placed Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ all time values in our API are in UTC time as per ISO8601 | string |
estimatedPickupTime | Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZall time values in our API are in UTC time as per ISO8601 If your channel doesn't use an estimate for the pickup time, the easiest thing to do is to reuse pickupTime, and just send the same value for estimatedPickupTime. LEGACY PARAMETER | string |
courier | This specifies who is delivering an order. There are only two possible variations • A channel handling delivery for the restaurant * must specify their channel name as "courier" • If the channel is not set, the assumption is the restaurant are arranging their own delivery, and "restaurant" is set and is needed where orders are fulfilled by an integrated 'Dispatch' partner (see guide here for further info) | string |
ageCheck | Boolean indicating whether the driver should verify customer's age. | boolean |
deliveryAddress | object | |
deliveryAddress.street | The full street address in a single-line string *required if delivery is done by restaurant or a dispatch provider via Deliverect | string |
deliveryAddress.streetNumber | numerical addresses assigned to homes, businesses, and other properties *required if delivery is done by restaurant or a dispatch provider via Deliverect | string |
deliveryAddress.postalCode | The postal or zip code *required if delivery is done by restaurant or a dispatch provider via Deliverect | string |
deliveryAddress.area | The name of a geographic area or locality that groups a number of addressable objects for addressing purposes, without being an administrative unit | string |
deliveryAddress.city | City *required if delivery is done by restaurant or a dispatch provider via Deliverect | string |
deliveryAddress.country | Country *required if delivery is done by restaurant or a dispatch provider via Deliverect | string |
deliveryAddress.extraAddressInfo | Additional instructions for locating the customer's location | string |
deliveryAddress.coordinates | "deliveryAddress": { .. "coordinates": [ "longitude": 9.0116776287441, "latitude": -79.516039105483 ], }, | array |
deliveryAddress.verification.pincode | "deliveryAddress": { .. "verification": { "pincode": "1234" } }, | object |
deliveryInfo | Delivery information | object |
deliveryInfo.packageSize | size of the package | string |
deliveryInfo.transportType | e.g. Bicycle, Car, Motorbike etc | string |
payment * | object | |
payment.amount * | The total amount paid should be sent as an integer with 2 decimal digits, for example, 1 euro would be sent as 100. payment amount = _sum of prices of all products in the order + deliveryCost + serviceCharge + deliveryCostTax + serviceChargeTax + sum of all tax amounts in the taxes array## | integer |
payment.type * | Type of payment(cash,card) See section here | integer |
payment.due | Outstanding amount due | integer |
taxes | A consumption tax imposed by the government on the sale of goods and services. | array (object) |
taxes.taxClassId | An Id corresponding to this tax class as (not currently needed) | integer |
taxes.name | The display name for this category of taxes, which is how it should be printed on a receipt (not currently needed) | string |
taxes.total * | * for Tax Exclusive Locations See section here for more details. It should be sent as an integer with 2 decimal digits e.g. 1 dollar would be sent as 100 . | integer |
taxRemitted | In regions where the channel has responsibility for charging tax e.g. where they are 'Marketplace Facilitator' this is the total tax remitted. This value should be sent outside the taxes array. | integer |
items * | array (object) | |
items.plu * | Stands for Price Look Up. The unique code of a product. | string |
items.name * | name of the product or modifier | string |
items.price * | Price for each of the items. It should be sent as an integer with 2 decimal digits e.g. 1 dollar would be sent as 100 . | integer |
items.quantity * | number of items | integer |
items.remark | item level notes | string |
items.itemUnavailableActions | For ordering platforms in the retail space, if items are not available customer's can specify a preference for actions to take detailed in the guide here | array (strings) |
items.subItems | (where applicable) | array |
items.discountReferenceIds | array referencing the discount to be applied to that specific item. The discount must be referenced on the "discounts" array. See guide here. | array |
includeCutlery | The boolean indicates whether the cutlery/utensils have been requested or not. | boolean |
table | For 'Eat-in' orders, a table number can be provided | string |
orderIsAlreadyPaid * | Has the order already been paid? | boolean |
note | Order-level note | string |
numberOfCustomer | Number of customers for the order | integer |
customer | object | |
customer.name | The name of the customer | string |
customer.companyName | A company name where the order is placed from | string |
customer.phoneNumber | Contact phone number | string |
customer.phoneAccessCode | Where a contact centre is used to route calls using a unique code | string |
customer.email | Contact email of the customer | string |
customer.tin | Tax Identification Number | string |
customer.note | Additional note on the customer | string |
decimalDigits * | Number of decimal digits (typically 2) | integer |
deliveryCost | Cost of delivery applied. It should be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100. | integer |
deliveryCostTax | Cost of delivery tax. It should be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100. | integer |
serviceCharge | Cost of any service charges. It should be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100. | integer |
serviceChargeTax | Tax on service charge | integer |
tip | Tip intended for the restaurant | integer |
driverTip | Tip intended for the courier | integer |
bagFee | Bag fee applied | integer |
discountTotal | Total discount as a negative value | integer (negative) |
discounts | When generating a discount, sending the above field "discountTotal" is required. Optionally, more detailed information about the discount can be provided via a "discounts" array (see complete guide here | array of objects |
discounts.type | Mapped channel discount type from the list of Discount Types in Deliverect | string |
discounts.provider | The issuer of the discount i.e. the one who bears the discounted amount. | string |
discounts.amount | Actual discounted amount | integer |
discounts.name | The name that was given to the discount. | string |
discounts.channelDiscountCode | The unique discount code used by the channel. | string |