Purpose
Creates a Basket for a specified store to validate content, if successfully validated, an id is returned that will be used when proceeding to Checkout Basket
Fulfilment types
| Type | Definition |
|---|---|
delivery | For delivery orders (including those handled by 3rd party dispatch platforms) |
pickup | Will be collected i.e. for takeaway (can apply for Kiosk orders) |
curbside | Will be as per pickup, but specific handoff to customer in vehicle |
eatIn | Customer will be ordering on-premise e.g. QR Code ordering |
driveThru | Customers will be submitting an order in a drive-thru format |
Basket Items
A basket can be first created without items and updated later via Update Basket - Item(s) Below are examples showing the minimum requirements for an initial basket to be created per fulfilment type:
{
"channelLinkId": "67********************2c",
"fulfillment": {
"type": "delivery"
}
}{
"channelLinkId": "67********************2c",
"fulfillment": {
"type": "pickup",
"pickupNotes": "Yellow Honda"
}
}{
"channelLinkId": "67********************2c",
"fulfillment": {
"type": "curbside",
"pickupNotes": "Yellow Honda"
}
}{
"channelLinkId": "67********************2c",
"fulfillment": {
"type": "eatIn",
"spot": "table-5"
}
}Basket Validation
The combination of storeId and a valid menuId will provide the required reference to validate basket items in the following criteria;
- Items are available and valid for the "
fulfillment.type" specified. - Item selections comply with menu rules, e.g, minimum and maximum values
- Requested times fall within store operating hours
- Fulfilment type specified is offered by the store
Pre-defined charges
Extra charges can be applied automatically if configured in Deliverect.
| Charge | Definition |
|---|---|
| Delivery Fee | Cost of delivery payable by the customer |
| Service Charge | Any additional charges levied e.g. transaction fees |
| Bag Fee | Unique charge for provision of packaging for orders |
Tax Calculation
In certain 'Tax Exclusive' regions e.g. US/Canada, the complete calculate tax totals can be serviced via the integrated POS. This will be factored into "payment.total" and a specific breakdown of tax code will be returned within "taxes": []
"payment": {
"tips": [],
"donationTotal": 0,
"discountsTotal": 0,
"chargesTotal": 0,
"taxTotal": 43,
"tipTotal": 0,
"subTotal": 618,
"total": 661
},
"taxes": [
{
"name": "GST",
"amount": 43
}
]