# 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"
}