Glossary - Channel Orders

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

ParametersMeaningType
customercustomer or end-userobject
customer.name The name of the customerstring
customer.companyName A company name where the order is placed fromstring
customer.phoneNumber Contact phone numberstring
customer.phoneAccessCode Where a contact centre is used to route calls using a unique codestring
customer.email Contact email of the customerstring
customer.note Additional note on the customerstring
customer.tinTax Identification Numberstring
deliveryAddress The delivery addressobject
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 unitstring
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.extraAddressInfoAdditional instructions for locating the customer's locationstring
deliveryAddress.coordinates"coordinates": { "longitude":, "latitude": } e.g. "coordinates": { "longitude": 9.0116776287441, "latitude": -79.516039105483 } array
payment * The process of paying the order.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
taxesA consumption tax imposed by the government on the sale of goods and services.array (object)
taxes.taxClassIdAn ID corresponding to this tax class as used by Deliverect (not currently needed)integer
taxes.nameThe 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 euro would be sent as 100.
integer
items * Array of objects containing the items to be ordered.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 euro would be sent as 100.integer
items.quantity * number of itemsinteger
items.remark item level notesstring
items.itemUnavailableActionsFor 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 herearray (strings)
items.subItems(where applicable)array
items.discountReferenceIdsarray referencing the discount to be applied to that specific item. The discount must be referenced on the "discounts" array. See guide here.array
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 ID provided by the channelstring
orderType * Order Types are described here.integer
tableFor 'Eat-in' orders, a table number can be providedstring
pickupTimeTimestamp is in UTC yyyy-MM-ddTHH:mm:ssZall time values in our API are in UTC time as per ISO8601

*(for delivery, pickup and any non-asap order)
string
estimatedPickupTimeTimestamp 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
deliveryTimeTimestamp is in UTC yyyy-MM-ddTHH:mm:ssZall time values in our API are in UTC time as per ISO8601string
deliveryIsAsap * The boolean indicates whether a delivery is asap or not. boolean
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 for further info)
string
orderIsAlreadyPaid * The boolean indicates whether the order has already been paid or not.boolean
noteorder notestring
decimalDigits * The specific decimal quantity sent on the order using the "decimalDigits" attribute.
The default should be “decimalDigits”: 2 .

Note: 3 decimal digits may apply in certain regions. See information here.
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
serviceChargeTaxService charges tax. It should be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.integer
discountTotalOrdering platforms may offer multiple forms of discount in accordance with the restaurants, e.g. special offers on selected items, % discounts etc.
A discount total is sent as a minus value representing the deduction from the total order. (see guide here).

It should be sent as a negative integer with 2 decimal digits e.g. 1 euro would be sent as -100.
integer (negative)
discountsWhen 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.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.Enum
discounts.nameThe name that was given to the discount.string
discounts.channelDiscountCodeThe unique discount code used by the channel.string
discounts.referenceIdA unique number is assigned to the discount and used to reference the discount on individual items on the order.integer
discounts.valueIt is the flat amount of money or percentage covered by the discount which is stored with two decimal digits 2, so $1.50 -> 150.integer
discounts.amountThe actual amount discounted e.g. For 10% off on a $50 bill, the value will be 1000, and the amount will be 500.integer
tipA tip intended for the restaurant (see section here)
It should be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.
integer
driverTipA tip intended for the courier (see section here)
It should be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.
integer
bagFeeBag fee (see section here for more info)
It should be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.
integer
deliveryInfoDelivery informationobject
deliveryInfo.packageSizesize of the packagestring
deliveryInfo.transportTypee.g. Bicycle, Car, motorbike ...string
validationIdvalidationId returned from the ValidateDelivery endpoint. The ID cannot be reused and is valid for 10 minutes from generation. If expired validationId is sent, the request fails with error 417string