Glossary - POS Orders

Menu Data
Please note that all the fields marked with will always be present in the order payload and contain data.

Legacy Attributes
Certain attributes appear in the order payload but should not be referenced as part of an integration and are marked as Legacy

ParametersMeaningType
_createdOrder created timestamp is in UTC yyyy-MM-ddTHH:mm:ssZstring
_updatedUpdated order timestamp is in UTC yyyy-MM-ddTHH:mm:ssZstring
_etagVersion hash used for optimistic concurrency control; changes on every updatestring
_idUnique 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)string
accountUnique customer account ID in Deliverectstring
channelOrderIdThe full unique ID from the delivery channel. Together with the channel is guaranteed to be unique for 48h after pickup.string
channelOrderDisplayIdAlternative order ID set by ordering channel, primarily for convenience and readability. This is not unique and typically a shortened version of channelOrderIdconsisting of 4-5 alphanumeric characters, although may go up to 12 characters.string
channelOrderKeyAlternative ID when is supportedstring
posIdThe POS order IDstring
posReceiptIdProvided by the POS in response to incoming orders as a reference to a specific POS receipt.string
posLocationIdLocation ID set in Deliverect to identify the POS (used as part of POS Registration action)string
posStatusCurrent order status as tracked from the POS side (mirrors status)integer
posStatusHistoryHistory of status changes as reported by the POSarray
posStatusHistory.timeStampUTC yyyy-MM-ddTHH:mm:ssZstring
posStatusHistory.orderStatusDeliverect order status at time of the POS updateinteger
posStatusHistory.posOrderStatusRaw status code as returned by the POSinteger
posCustomerIdCustomer identifier as recognized by the POSstring
locationUnique ID for the POS to identify the store locationstring
locationNameDisplay name of the store/location the order belongs tostring
channelLinkUnique identifier of the channel (merchant store) in Deliverect. Retrieve all Ids per account via GET Channel Linksstring
statusOrder status (see list here)integer
statusHistoryAll status history at time of order injection
statusHistory.timeStampAll timestamps are in UTC yyyy-MM-ddTHH:mm:ssZstring
statusHistory.statusOrder status (full list here)integer
statusHistory.responseIn case of error, it will be populated herestring
statusHistory.sourceSource of status update 1=POS 2=Channel and 5= Internalinteger
statusHistory.eventIdInternal event ID associated with this status changestring
packagingobject
packaging.includeCutlerySpecifies if cutlery/utensils should be included or notboolean
byOrder source (if known) e.g. 'app' or 'mobile' not the same as"channel" that specifies the ordering platform (see guide here​)string
orderTypeType of order (see full list here)integer
isCateringIndicates whether the order is flagged as cateringboolean
tabletlessIndicates the order was received without a tablet integrationboolean
ageCheckIndicates whether an age-restricted item check is requiredboolean
channelUnique ID of the channel (see GET Integrated channels)integer
channelStatusHistoryHistory of status updates exchanged with the channelarray
channelStatusHistory.timeStampUTC yyyy-MM-ddTHH:mm:ssZstring
channelStatusHistory.channelEventEvent type code sent to the channelinteger
channelStatusHistory.orderStatusDeliverect order status at time of the eventinteger
channelStatusHistory.channelStatusChannel-specific status stringstring
channelStatusHistory.successWhether the update to the channel succeededboolean
channelStatusHistory.responseRaw response returned by the channelstring
channelStatusHistory.propertiesAdditional event-specific properties (e.g. pickupTime)object
menusMenu ID(s) associated with the orderarray
posUnique ID of the POSinteger
rating
Legacy
array of objects
pickupTimePickup time order timestamp is in UTC yyyy-MM-ddTHH:mm:ssZstring
estimatedPickupTimeEstimated pickup time order timestamp is in UTC yyyy-MM-ddTHH:mm:ssZ <Legacy_label />string
pickupTimeETAEstimated pickup time, if available from the delivery providerstring
preparationTimeQuoted preparation time, in minutesinteger
prepTimeAdjustmentsAdjustments applied to the preparation timearray
deliveryTimeDelivery time order timestamp is in UTC yyyy-MM-ddTHH:mm:ssZstring
deliveryTimeETAEstimated delivery time, if available from the delivery providerstring
deliveryIsAsapSignifies if the order is required as soon as possibleboolean
courierDetails of courier
courier.firstNameCourier's first namestring
courier.lastNameCourier's last namestring
courier.phoneNumberCourier's phone numberstring
courier.deliveryByIdentifies 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 specifiedstring
courier.statusSee hereinteger
courier.countNumber of couriers/packages assigned to the deliveryinteger
courierUpdateHistory
courierUpdateHistory.statusSee here all the Statusesinteger
courierUpdateHistory.receivedTimestamp when the update was receivedstring
courierUpdateHistory.courierCourier info updatesobject
courierUpdateHistory.courier.transportTypeCourier's mode of transport at time of updatestring
courierUpdateHistory.courier.lastKnownLocationCourier's last known GPS coordinatesobject
courierUpdateHistory.courier.vehicleCourier vehicle details — type, make, model, isAutonomousobject
courierUpdateHistory.arrivalTimeCourier arrival timestring
courierUpdateHistory.deliveryTimeCourier delivery timestring
courierUpdateHistory.source

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

integer
courierUpdateHistory.externalJobIdExternal delivery job/task ID from the delivery providerstring
courierUpdateHistory.notifyChannelWhether the channel should be notified of this courier updateboolean
historyDriverUpdates
Legacy
array
deliveryJobIdsDelivery job IDs associated with the orderarray
deliverySystemsDelivery system(s) engaged for fulfilmentarray
failedDeliverySystemsDelivery system(s) that failed to fulfil the orderarray
customercustomer is the end-consumerobject
customer._idUnique ID of the customer recordstring
customer.hashHashed/anonymized customer identifierstring
customer.nameName of the customerstring
customer.companyNameCompany namestring
customer.phoneNumbere.g "+31618776767"string
customer.phoneAccessCodePhone access code used to contact channel support (e.g. 1123)string
customer.emailemail address where providedstring
customer.notenote from the customer (e.g. "Call once you arrive")string
customer.tintax identification numberstring
customer.billingAddressBilling address object (e.g. street)object
customer.sendUpdatesWhether the customer opted in to receive order updatesboolean
customersMultiple customers associated with an order (e.g. group/table orders)array
deliveryAddressProvided address for an orderobject
deliveryAddress.streetThis includes the street number where provided e.g. "Stationsstraat 79e"string
deliveryAddress.postalCodee.g. "3811 MH"string
deliveryAddress.citye.g. "Amersfoort"string
deliveryAddress.countrye.g. "Netherlands"string
deliveryAddress.coordinates.coordinatesLongitude and Latitude expressed as below;
"coordinates": {
  "coordinates": [  
      9.124598503112793,  
      45.50004196166992  
  ],
   "type":"Point"
}
array
deliveryAddress.source"source" is sent to POS where address information exists. "source" should help POS to handle address variations from different countries.string
deliveryAddress.extraAddressInfoe.g. (second floor)string
deliveryInfoDelivery logistics detailsobject
deliveryInfo.packageSizeSize classification of the delivery packagestring
deliveryInfo.transportTypeMode of transport used for deliverystring
deliveryInfo.dropoffTypeType of dropoff (e.g. handed to customer, left at door)string
orderIsAlreadyPaidStatement of whether an order was paid online or notboolean
taxTotaltaxTotal is the sum of deliveryTax + serviceChargeTax + deliveryCostTax.integer
taxesAll taxes applied to an order (in tax exclusive regions only)
taxes.namee.g. VATstring
taxes.taxClassIde.g 0, 1 or 2integer
taxes.totalThe composite total of all taxesinteger
taxRemittedSome ordering platforms collect and pay taxes and share this info with us as a value-remitted tax.integer
paymentobject
payment.amountTotal amount tendered .
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.
integer
payment.typePayment method applied (full list here)integer
payment.dueAny 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.
integer
payment.rebateThis 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.
integer
payment.commissionTypeThe type of commission rate charged can be categorised by the channelstring
paymentsArray form of payment records, each with its own id; appears alongside the singular payment objectarray
noteOverall note for an orderstring
tableWith 'Eat-in' orders ( "orderType": 3 ) a table identifier can be sent (see more details here)string
itemsAll the items included in a order
items._idUnique identifier of the item line within the orderstring
items.pluUnique reference for the productstring
items.nameThe name of the Product and the Modifierstring
items.kitchenNameAn optional additional name for the product that will be sent through with the orderstring
items.pricePrice 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.
integer
items.bottleDepositPriceWhere a deposit fee has been applied this will show the cost appliedinteger
items.quantityQuantity of item ordered, for subItems quantity, see guide hereinteger
items.productTypeSpecific type of item hereinteger
items.sectionRetail category/section name the item belongs tostring
items.ticketSectionIdReference ID linking the item to a kitchen/prep ticket sectionstring
items.workstationsWorkstation(s) assigned to prepare the itemarray
items.channelItemIdUnique item ID as provided by the ordering channelstring
items.remarkA note specific to an individual itemstring
items.isInternalNon-applicable to generic POS integrationsboolean
items.categoryInfoCategory metadata for the item (shape not yet observed populated)object
items.packagingPer-item packaging details — count, reusable, packedItemsobject
items.productTagsIndicates the tags contained inside a productarray
items.subItemsAll subitems are items associated with the product ordered. The quantity is multiplied by however many top-level items are ordered see guide herearray
items.subItems.inBundleIndicates the subItems is contained inside a bundleboolean
items.subItems.modifierActionSpecifies the delta of ingredient group modifiers, the action is either NO | ADD (see guide here)boolean
items.isComboIndicates a product sold is part of a comboboolean
items.sortOrderThe 'stepped' order of any auto-applied items, where 0 is the first item to be listed (see guide here)integer
items.discountReferenceIdSingular discount reference — appears alongside discountReferenceIdsinteger
items.discountReferenceIdsAn array of identifiers for each discount applied to an item (see guide here)array
items.unavailableActionsActions not permitted on this item (e.g. substitution, removal, amendment)array
items.amendedItemPresent when an item's quantity or product was changed post-submission (e.g. retail substitution)object
amendedItem.typequantity_change or substitutionstring
amendedItem.orderItemIdID of the affected order itemstring
amendedItem.pluPLU of the originally ordered (pre-amendment) productstring
amendedItem.quantityOriginal/adjusted quantityinteger
amendedItem.nameOriginal product namestring
amendedItem.priceOriginal product priceinteger
amendedItem.snoozedPlusPLU(s) temporarily excluded/snoozed as part of the substitutionarray
removedItemsItems removed from the order after submissionarray
decimalDigitsDecimal precision of order and payment amountsinteger
numberOfCustomersIndicates how many diners (applicable to table ordering)integer
channelOrderRawIdDeliverect internal ID of an orderstring
channelOrderHistoryRawIds
Legacy
reportingHistoryReporting/analytics event history for the orderarray
serviceChargeService charge applied
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100
integer
deliveryCostDelivery cost applied
It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100
integer
fixedCostFixed cost applied to the orderinteger
bagFeeA 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
integer
tipA 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
integer
driverTip

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

integer
smallOrderFee

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

integer
discountTotal

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)

It will be sent as an integer with 2 decimal digits e.g. 1 euro would be sent as 100.

negative integer
discountsAll applied discounts within an order
discounts.typeMapped channel discount type from the list of Discount Types in Deliverect.string
discounts.providerThe issuer of the discount i.e. the one who bears the discounted amount list of provider types in DeliverectEnum
discounts.nameThe name of the discount.string
discounts.channelDiscountCodeThe unique discount code used by the channelstring
discounts.referenceIdA unique identifier of the discount, where applicable, this will show against items included in discountinteger
discounts.valueIt is the flat amount of money or percentage covered by the discount which is stored with precision 2, so $1.50 -> 150,# 25.1% -> 2510integer
discounts.amount

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.

integer
discounts. amountRestaurantThe 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.
integer
discounts. amountChannel

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.

integer
capacityUsages
Legacy
recent
Legacy
boolean
resolvedBy
Legacy
string
brandIdAppears where customer operates multiple brands from one location Get account brandsstring
testOrderonly applicable as 'true' in staging environment via menu preview ordersboolean
timezonee.g. "Europe/London"
(see TZ list here)
string
dateOrder created date in format YMDinteger
tagsCustom tag(s) applied to the store location, typically a brand name e.g. "tags": ["Best Burger"]array
_linksHATEOAS-style self-reference links for the resourceobject
_links.self.titleResource title (e.g. "order")string
_links.self.hrefRelative API path to the resourcestring
rawPOSOrders
Legacy
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
array