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
Request parameters
View the list of basket attributes below;
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 |
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"
}
}Items
The combination of storeId and a valid menuId will provide the required reference to validate basket items. A basket can be first created without items and updated later via Update Basket - Item(s)
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 |
Validations
Certain validations will be run against the current basket, based on the order and it's content. This ensures the order is valid and conforms to the following:
- Item selections comply with menu rules, e.g, minimum and maximum values
- Requested times fall within store operating hours
- Fulfilment types are available at the store
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
}
]Group Basket
To support group ordering, a list of customers participating in a group order can be submitted, with a single 'Host' identified with "role": "host"
"role": "host"Policies
Pre-defined configuration policies can be attached to the group basket as detailed in the table below;
| Policy | Behaviour | Scope |
|---|---|---|
| New Joiners Deadline (newJoinersDeadline) | Defines the cutoff time after which no new customers can be added to the group. | Basket |
| Items Modification Deadline (groupItemsModificationDeadline) | Defines the cutoff time after which customers can no longer modify their items. | Basket |
| Items Modification Deadline (customerItemsModificationDeadline) | Defines the cutoff time after which a particular customer can no longer modify their items. | Customer |
