The order structure consists of serveral parts of information giving details about an order.

The purpose of this structure is to combine all the information needed to get an order from the site / application to the customer

orderInfo

Field Type Required Description
externalToken string true Identifier used by 3rd party to lookup the order in their system
storeCode string true Identifier defining the store this order belongs to
CRMCode string false Identifier defining an external CRM code. Used for specific cases. Ask for more information.
asap boolean true Defines the order has no deliverytime and needs to be deliverd as soon as posible
customerComment string true Comment provided by customer during the order process
customerPickupDateTime datetime true
if expeditionType = Pickup
Specifies the time the order will be picked up by a customer
riderPickupDateTime datetime true
if expeditionType = ExternalDelivery
Specifies the time the order will be picked up by an external rider
expeditionType int true
Specifies the order type. Defined in the enum list found here
createdDateTime datetime false Specifies the time the order has been made in the external system. If value is omited, current time will be used
expiryDateTime datetime false Specifies the moment the order becomes invalid of no ackknowledge has been send back. If value is omited, order will not expire
deliveryDateTime datetime true
if expeditionType = Delivery
Specifies the moment the order has to be delivered to the customer

CostInformation

Field Type Required Description
subtotal decimal true total without the deliveryFee, serviceFee.
deliveryFee decimal true Amount that is charged for the delivery.
serviceFee decimal true Amount of money paid for using the service. eg. extra cost to reach minimum order amount
grandTotal decimal true Total sum of subTotal, deliveryFee, serviceFee

localinfo

Field Type Required Description
platformName string true 3rd party platform / provider name

customer

Field Type Required Description
email string false Email of the ordering customer
companyName string true Name of company.
firstName string true First name of the ordering customer
LastName string true Last name of the ordering customer
phoneNumber string true Phonenumber of the ordering customer

waiterDetails

Only required for expeditionType = EatIn
Field Type Required Description
tableNumer string true Table number this order needs to be written to

deliverydetails

Only required for expeditionType = Delivery or ExternalDelivery
Field Type Required Description
zipCode string true Zipcode of the deliveryadress
long decimal false Geo data for showing on the map
lat decimal false Geo data for showing on the map
flatnumber string false Extra info needed in some countries for finding the customer
room string false Extra info needed in some countries for finding the customer
number string true Housenumber part of the address
street string true Street details of the order
structure string false Extra info needed in some countries for finding the customer
entrance string false Extra info needed in some countries for finding the customer
floor string false Extra info needed in some countries for finding the customer
district string false Extra info needed in some countries for finding the customer
city string true City details of the order

paymentdetails

Field Type Required Description
customerCashAmount decimal false Amount of money the customer is going to use to pay, eg customer wants to pay with € 50,00
code string false Payment Type Code.
Cash, Visa, Ideal, Pin, Invoice, ect
electronicalPaid boolean true Specifies the order is already paid.
if false the customer has to pay at the door

discounts (list of)

Field Type Required Description
name string true Name of de discount / voucher. Used for display and is printed on ticket
price decimal true Amount of money that is being subtracted. This value has to be positive

products (list of)

Field Type Required Description
bindingId string true Uniquebinding ID. Has to match up with POS data for matching
quantity int true Amount of the product ordered
singleProductPrice decimal true Price of the product without choices
rowPrice decimal true Total price of the product combined with the choices multiplied by the quantity
categoryName string false Name of the category this product belongs to. Used to add the product to the POS system if non existing localy
name string true Name of the product. Used to add the product to the POS system if non existing localy
productComment string false Customer comment for certain product

products > choices (list of)

Field Type Required Description
bindingId string true Uniquebinding ID. Has to match up with POS data for matching
quantity int true Amount of the choice ordered
Price decimal true Price of a single item
name string true Name of the choice. Used to add the item to the POS system if non existing localy

products > boundProducts (list of)

Field Type Required Description
bindingId string true Uniquebinding ID. Has to match up with POS Data for matching
quantity int true Amount of the item ordered
singleProductPrice decimal true Price of a single item
name string true Name of the product. Used to add the product to the POS system if non existing localy
categoryName string true Name of the category this product belongs to. Used to add the product to the POS system if non existing localy

products > discounts (list of)

Field Type Required Description
name string true Name of de discount / voucher. Used for display and is printed on ticket
price decimal true Amount of money that is being subtracted. This value has to be positive
click to enlarge graphical representation


Samples
Basic Delivery
Basic Takeout