# Cart API Resources v2.0Beta
Each resource used in the Cart API version 2.0 is listed below.
# Cart
A representation of a cart that contains items for an order the customer will place.
Name | Required | Type | Description |
---|---|---|---|
id | true | guid | The unique identifier for the cart. |
profileKey | true | guid | The unique profile key for customer. |
partnerKey | true | string(4) | The partner key assigned to you. |
restaurantKey | true | int | The restaurant key that the order should be placed against. |
items | false | CartItem[] | A list of items with their selected options currently in the cart. |
platform | true | string(50) | An identifier for the platform the order is being placed from. |
orderingChannel | true | string(50) | The ordering channel for the order. This value can taken from the menu. |
fulfilmentChannel | true | string(50) | The fulfilment channel for the order. This value can taken from the menu. |
currency | true | string(3) | The ISO 4217 currency code for the currency applicable for the items, totals, fees and tip on the order. |
subtotal | true | double | The total of all items and options in the cart. |
discountTotal | true | double | The total of all discounts applied to the cart. |
paymentTotal | true | double | The total of all payments submitted for the cart. |
tip | true | double | A tip value. |
total | true | double | The total of all items and options in the cart as well as any fees and other charges that may apply. |
balance | true | double | The remaining balance on the cart. It is the value of the total less the payments total. |
discounts | false | CartDiscount[] | A list of discounts applied to the cart. |
payments | false | CartPayment[] | A list of payments submitted for the cart. |
note | false | string(300) | A note to be submitted with the order. Notes may appear on the customers POS invoice. |
specialInstructions | false | string(300) | Instructions to be submitted with the order. Special instructions usually only print in the kitchen at the restaurant. |
expiresOn | true | date-time | The date and time that the cart expires. |
createdOn | true | date-time | The date and time that the cart was created. |
modifiedOn | true | date-time | The date and time that the cart was last updated. |
# Sample
{
"id": "672fb54a-db33-4549-b55e-90963b721e23",
"profileKey": "75b7726e-8416-4b13-a54a-b7fae6518b8f",
"restaurantKey": 1352,
"partnerKey": "0087",
"items": [
{
"id": "c0b7c57d-7da4-400f-b67a-7b85fd709c0c",
"menuKey": "ROCO-ZA-3",
"menuVersion": 202107,
"menuItemKey": 811000176,
"displayName": "Classic Cheese Burger",
"currency": "ZAR",
"price": 69.00,
"quantity": 1,
"value": 88.00,
"options": [
{
"optionSetKey": 861000001,
"optionSetItemKey": 811000011,
"displayName": "Beef",
"currency": "ZAR",
"price": 0.00
},
{
"optionSetKey": 861000035,
"optionSetItemKey": 811000205,
"displayName": "Bacon",
"currency": "ZAR",
"price": 19.00
}
],
"specialInstructions": null
}
],
"platform": "Branded App",
"orderingChannel": "Call and Order",
"fulfilmentChannel": "Takeaway",
"currency": "ZAR",
"subtotal": 88.00,
"discountTotal": 50.00,
"paymentTotal": 38.00,
"tip": 0.00,
"total": 88.00,
"balance": 0.00,
"discounts": [
{
"discountId": "30a1187e-6f12-4b7f-85fb-dea3162c4bb3",
"currency": "ZAR",
"amount": 50.00,
"createdOn": "2021-10-19T14:55:56.3214013+00:00"
}
],
"payments": [
{
"paymentId": "349d54c0-4e9e-49c8-b82f-02dda08d69f9",
"currency": "ZAR",
"amount": 38.00,
"createdOn": "2021-10-19T14:56:55.5214013+00:00"
}
],
"note": "This is just an order level note for order.",
"specialInstructions": "These are special instructions. They are special. Treat them with care",
"expiresOn": "2021-10-19T15:27:07+00:00",
"createdOn": "2021-10-19T14:57:05.5214013+00:00",
"modifiedOn": "2021-10-19T14:57:07+00:00"
}
# CartDiscount
A representation of a discount that has been applied to a cart.
Name | Required | Type | Description |
---|---|---|---|
discountId | true | string | The identifier for the discount. |
currency | true | string(3) | The ISO 4217 currency code for the discount. |
amount | true | double | The discount amount. |
createdOn | true | date-time | The date and time that the discount was created. |
# Sample
{
"discountId": "30a1187e-6f12-4b7f-85fb-dea3162c4bb3",
"currency": "ZAR",
"amount": 50.00,
"createdOn": "2022-02-09T08:51:41.3369528+00:00"
}
# CartItem
A representation of an an item in a cart.
Name | Required | Type | Description |
---|---|---|---|
id | true | guid | The unique identifier for the item in the cart. |
menuKey | true | string(20) | The key for the menu that item is from. |
menuVersion | true | int | The menu version for the menu that item is from. |
menuItemKey | true | int64 | The key for the menu item. |
displayName | true | string(100) | The display name of the item. |
currency | true | string(3) | The ISO 4217 currency code for the currency applicable for the item. |
price | true | double | The item price excluding the price of any selected options. This is the price of the item on the menu. |
quantity | true | int | The quantity of the item and its selected options to order. |
options | false | CartItemOption[] | The options the customer selected for the item. |
specialInstructions | false | string(300) | Instructions to be submitted for the item. Special instructions print in the kitchen at the restaurant. |
# Sample
{
"id": "c0b7c57d-7da4-400f-b67a-7b85fd709c0c",
"menuKey": "ROCO-ZA-3",
"menuVersion": 202107,
"menuItemKey": 811000176,
"displayName": "Classic Cheese Burger",
"currency": "ZAR",
"price": 69.00,
"quantity": 1,
"value": 88.00,
"options": [
{
"optionSetKey": 861000001,
"optionSetItemKey": 811000011,
"displayName": "Beef",
"currency": "ZAR",
"price": 0.00
},
{
"optionSetKey": 861000035,
"optionSetItemKey": 811000205,
"displayName": "Bacon",
"currency": "ZAR",
"price": 19.00
}
],
"specialInstructions": null
}
# CartItemOption
A representation of an option for an item.
Name | Required | Type | Description |
---|---|---|---|
optionSetKey | true | int64 | The option set that the option set item is from. |
optionSetItemKey | true | int64 | The key for the option. |
displayName | true | string(100) | The display name of the selected option. |
currency | true | string(3) | The ISO 4217 currency code for the currency applicable for the option. |
price | true | double | The price of the selected option. |
# Sample
{
"optionSetKey": 861000001,
"optionSetItemKey": 811000011,
"displayName": "Beef",
"currency": "ZAR",
"price": 0.00
}
# CartPayment
A representation of a payment that has been submitted for the cart.
Name | Required | Type | Description |
---|---|---|---|
paymentId | true | string | The identifier for the payment. |
currency | true | string(3) | The ISO 4217 currency code for the payment. |
amount | true | double | The payment amount. |
createdOn | true | date-time | The date and time that the payment was created. |
# Sample
{
"paymentId": "47c172c8-2fae-4657-92f3-7a8727d6a4aa",
"currency": "ZAR",
"amount": 246.00,
"createdOn": "2022-02-09T08:58:13.1658241+00:00"
}