Channel Orders - Glossary


Required Data
Please note that all the fields marked with (*) are required.

ParametersMeaningType
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 providestring
validationIdReturned 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 417string
orderType*Order Types are described here.integer
deliveryIsAsap*Boolean indicating whether delivery is ASAP.


If the pickupTime is within 30 minutes, this should be true.
boolean
pickupTimeTimestamp is in UTC yyyy-MM-ddTHH:mm:ssZ — all time values in our API are in UTC per ISO8601.

* (for delivery, pickup and any non-ASAP order)
string
deliveryTimeTimestamp is in UTC yyyy-MM-ddTHH:mm:ssZ — all time values in our API are in UTC per ISO8601.


(required for non-ASAP delivery orders)
string
placedTimeTime when the order was placed. Timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ per ISO8601.string
estimatedPickupTimeTimestamp is in UTC yyyy-MM-ddTHH:mm:ssZ per ISO8601.


If your channel doesn't use an estimate for the pickup time, reuse pickupTime and send the same value for estimatedPickupTime.

string
courierThis 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).
string
ageCheckBoolean indicating whether the driver should verify customer's age.boolean
deliveryAddressobject
deliveryAddress.streetThe full street address in a single-line string
* required if delivery is done by restaurant or a dispatch provider via Deliverect
string
deliveryAddress.streetNumberNumerical address assigned to the property
* required if delivery is done by restaurant or a dispatch provider via Deliverect
string
deliveryAddress.postalCodeThe postal or zip code
* required if delivery is done by restaurant or a dispatch provider via Deliverect
string
deliveryAddress.areaThe name of a geographic area or locality that groups a number of addressable objects for addressing purposes, without being an administrative unitstring
deliveryAddress.cityCity
* required if delivery is done by restaurant or a dispatch provider via Deliverect
string
deliveryAddress.countryCountry
* required if delivery is done by restaurant or a dispatch provider via Deliverect
string
deliveryAddress.extraAddressInfoAdditional instructions for locating the customer's locationstring
deliveryAddress.coordinates
"deliveryAddress": {
...
"coordinates": [
{ "longitude": 9.0116776287441, "latitude": -79.516039105483 }
]
}
array
deliveryAddress.verification.pincode
"deliveryAddress": {
...
"verification": {
"pincode": "1234"
}
}
object
deliveryInfoDelivery informationobject
deliveryInfo.packageSizeSize of the packagestring
deliveryInfo.transportTypee.g. Bicycle, Car, Motorbike etcstring
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.dueOutstanding amount dueinteger
taxesA consumption tax imposed by the government on the sale of goods and services.array (object)
taxes.taxClassIdAn ID corresponding to this tax class (not currently needed)integer
taxes.nameThe display name for this category of taxes (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
taxRemittedIn 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 modifierstring
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 itemsinteger
items.remarkItem-level notesstring
items.itemUnavailableActionsFor ordering platforms in retail, customers can specify a preference for actions when items are unavailable (see guide here).array (strings)
items.subItems(where applicable)array
items.discountReferenceIdsArray referencing the discount(s) to be applied to that specific item. The discount must also appear in the discounts array (see guide here).array
includeCutleryWhether cutlery/utensils have been requested.boolean
tableFor ‘Eat-in’ orders, a table number can be providedstring
orderIsAlreadyPaid
Has the order already been paid?boolean
noteOrder-level notestring
numberOfCustomerNumber of customers for the orderinteger
customerobject
customer.nameThe name of the customerstring
customer.companyNameA company name where the order is placed fromstring
customer.phoneNumberContact phone numberstring
customer.phoneAccessCodeWhere a contact centre routes calls using a unique codestring
customer.emailContact email of the customerstring
customer.tinTax Identification Numberstring
customer.noteAdditional note on the customerstring
decimalDigits
Number of decimal digits (typically 2)integer
deliveryCostCost of delivery applied. It should be sent as an integer with 2 decimal digits; e.g. 1 euro would be sent as 100.integer
deliveryCostTaxCost of delivery tax. It should be sent as an integer with 2 decimal digits; e.g. 1 euro would be sent as 100.integer
serviceChargeCost 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
serviceChargeTaxTax on service chargeinteger
tipTip intended for the restaurantinteger
driverTipTip intended for the courierinteger
bagFeeBag fee appliedinteger
discountTotalTotal discount as a negative valueinteger (negative)
discountsWhen generating a discount, sending discountTotal is required.


Optionally, more detailed information can be provided via a discounts array (see complete guide here).
array of objects
discounts.typeMapped channel discount type from the list of Discount Types in Deliverectstring
discounts.providerThe issuer of the discount i.e. the one who bears the discounted amount.string
discounts.amountActual discounted amountinteger
discounts.nameThe name that was given to the discount.string
discounts.channelDiscountCodeThe unique discount code used by the channel.string