Menu
A list of Menus that are available for an organization.
See currencies for more information on providing and using currency values. All values are in lowest denomination.
Get a location Menu
This endpoint allows developers to get menus for a specific store
get /organizations/{organizationId}/locations/{locationId}/menu
Parameters
Name | Type | In | Description |
---|---|---|---|
organizationId | string | path | Organization ID |
locationId | string | path | Location ID |
Responses
{
"categories": [
{
"id": "C001",
"productIds": [
"P001",
"P002"
],
"title": "Specials"
},
{
"id": "C001",
"productIds": [
"P001",
"P002"
],
"title": "Specials"
},
{
"id": "C001",
"productIds": [
"P001",
"P002"
],
"title": "Specials"
}
],
"currency": "AUD",
"menus": [
{
"categoryIds": [
"C001",
"C002"
],
"fulfillmentType": [
"DELIVERY",
"PICK_UP",
"SERVICE"
],
"id": "M001",
"serviceAvailability": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
],
"serviceAvailabilityOverrides": [
{
"closed": true,
"date": "2023-12-25"
},
{
"date": "2023-12-26",
"end": "15:30",
"start": "12:00"
},
{
"date": "2023-12-26",
"end": "23:59",
"start": "18:00"
}
],
"title": "Breakfast"
},
{
"categoryIds": [
"C001",
"C002"
],
"fulfillmentType": [
"DELIVERY",
"PICK_UP",
"SERVICE"
],
"id": "M001",
"serviceAvailability": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
],
"serviceAvailabilityOverrides": [
{
"closed": true,
"date": "2023-12-25"
},
{
"date": "2023-12-26",
"end": "15:30",
"start": "12:00"
},
{
"date": "2023-12-26",
"end": "23:59",
"start": "18:00"
}
],
"title": "Breakfast"
},
{
"categoryIds": [
"C001",
"C002"
],
"fulfillmentType": [
"DELIVERY",
"PICK_UP",
"SERVICE"
],
"id": "M001",
"serviceAvailability": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
],
"serviceAvailabilityOverrides": [
{
"closed": true,
"date": "2023-12-25"
},
{
"date": "2023-12-26",
"end": "15:30",
"start": "12:00"
},
{
"date": "2023-12-26",
"end": "23:59",
"start": "18:00"
}
],
"title": "Breakfast"
},
{
"categoryIds": [
"C001",
"C002"
],
"fulfillmentType": [
"DELIVERY",
"PICK_UP",
"SERVICE"
],
"id": "M001",
"serviceAvailability": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
],
"serviceAvailabilityOverrides": [
{
"closed": true,
"date": "2023-12-25"
},
{
"date": "2023-12-26",
"end": "15:30",
"start": "12:00"
},
{
"date": "2023-12-26",
"end": "23:59",
"start": "18:00"
}
],
"title": "Breakfast"
}
],
"products": [
{
"available": true,
"description": "Contains beef, lettuce, tomato topped with our special LOKE sauce",
"id": "P001",
"imageUrl": "https://example.com/title.png",
"options": [
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
}
],
"plu": "HOTFOOD-001",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
},
"priceOverrides": [
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
},
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
}
],
"tags": [
"gluten free",
"vegan"
],
"title": "LOKE's Burger",
"visibility": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
]
},
{
"available": true,
"description": "Contains beef, lettuce, tomato topped with our special LOKE sauce",
"id": "P001",
"imageUrl": "https://example.com/title.png",
"options": [
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
}
],
"plu": "HOTFOOD-001",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
},
"priceOverrides": [
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
},
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
}
],
"tags": [
"gluten free",
"vegan"
],
"title": "LOKE's Burger",
"visibility": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
]
},
{
"available": true,
"description": "Contains beef, lettuce, tomato topped with our special LOKE sauce",
"id": "P001",
"imageUrl": "https://example.com/title.png",
"options": [
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
}
],
"plu": "HOTFOOD-001",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
},
"priceOverrides": [
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
},
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
}
],
"tags": [
"gluten free",
"vegan"
],
"title": "LOKE's Burger",
"visibility": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
]
}
],
"timeZone": "Australia/Melbourne"
}
Update a location Menu
This endpoint allows developers to set the entire menu for a specific store
put /organizations/{organizationId}/locations/{locationId}/menu
Parameters
Name | Type | In | Description |
---|---|---|---|
organizationId | string | path | Organization ID |
locationId | string | path | Location ID |
Request Body
{
"name": "Loyal Customers"
}
Responses
Get a Menu Product
This endpoint allows you to get a product by ID
get /organizations/{organizationId}/locations/{locationId}/menu/products/{productId}
Parameters
Name | Type | In | Description |
---|---|---|---|
organizationId | string | path | Organization ID |
locationId | string | path | Location ID |
productId | string | path |
Responses
{
"available": true,
"description": "Contains beef, lettuce, tomato topped with our special LOKE sauce",
"id": "P001",
"imageUrl": "https://example.com/title.png",
"options": [
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
}
],
"plu": "HOTFOOD-001",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
},
"priceOverrides": [
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
},
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
},
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
}
],
"tags": [
"gluten free",
"vegan"
],
"title": "LOKE's Burger",
"visibility": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
]
}
Update a Menu Product
This endpoint allows developers to update an individual product for a specific store. If you need to patch a product, you need to GET and apply manually before calling PUT
put /organizations/{organizationId}/locations/{locationId}/menu/products/{productId}
Parameters
Name | Type | In | Description |
---|---|---|---|
organizationId | string | path | Organization ID |
locationId | string | path | Location ID |
productId | string | path |
Request Body
{
"available": true,
"description": "Contains beef, lettuce, tomato topped with our special LOKE sauce",
"imageUrl": "https://example.com/title.png",
"options": [
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
},
{
"choices": [
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
},
{
"defaultQuantity": 1,
"maxQuantity": 3,
"minQuantity": 0,
"productId": "M001"
}
],
"id": "O001",
"maxQuantity": 3,
"minQuantity": 1,
"title": "Extras"
}
],
"plu": "HOTFOOD-001",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
},
"priceOverrides": [
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
},
{
"contextType": "MENU",
"contextValue": "3",
"price": {
"amount": 2300,
"taxIncluded": 250,
"taxRate": 0.05
}
}
],
"tags": [
"gluten free",
"vegan"
],
"title": "LOKE's Burger",
"visibility": [
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
},
{
"dayOfTheWeek": "MONDAY",
"end": "23:59",
"start": "09:30"
}
]
}
Responses
Models
MenuConfig
A stores root level menu configuration.
Name | Type | Description |
---|---|---|
currency | string(enum) | The currency used for purchases for this store "AUD", "SGD", "GBP", "NZD", "USD" |
timeZone | string | The time zone of the store in Location/Area format. |
categories | Category[] | List of the store's categories. |
menus | Menu[] | List of the store's menus |
products | Product[] | List of the store's products. |
Category
A grouping of products that are related.
Name | Type | Description |
---|---|---|
id | string | A unique ID for the category |
title | string | The displayed name for the category |
productIds | string[] | All of the IDs of products that will be available in this category |
Menu
A collection of products that are available for a specific store.
Name | Type | Description |
---|---|---|
id | string | A unique ID for the menu. |
title | string | The name of the menu to be displayed |
categoryIds | string[] | All of the IDs for the menu categories that will be available while this menu is active |
fulfillmentType | string[] | The delivery type. Must be of 'DELIVERY', 'PICK_UP' or 'SERVICE' |
serviceAvailability | Period[] | The days and times of the day at which this menu should be made available |
serviceAvailabilityOverrides | PeriodOverride[] | (optional) The dates and times of the day at which this menu has special opening hours or closed (e.g., Public Holiday, Christmas, Chinese New Year, etc). When a date is indicated as closed it should only have one entry in the array for that date. |
Period
Time span for an individual day (finishes at 23:59)
Name | Type | Description |
---|---|---|
dayOfTheWeek | string(enum) | The day of the week which these hours will be applied. "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" |
end | string | The time which the item ceases to be available, in 24-hour HH:MM format, e.g '09:30', '21:59' |
start | string | The time which the item becomes available, in 24-hour HH:MM format, e.g '09:30', '21:59' |
PeriodOverride
Override service availability for a specific date. When closed is specified start and end must not be specified. Time span for an individual day (finishes at 23:59)
Name | Type | Description |
---|---|---|
closed | boolean | (optional) Indicates closed for the specified date. When true the location is closed for the entire date. True when indicating closed for the date, exclude otherwise. |
date | string | The date which these hours will be applied. |
end | string | (optional) The time which location closes, in 24-hour HH:MM format, e.g '09:30', '21:59'. Required only when indicating opening hours, else declare closed true. |
start | string | (optional) The time when the location opens, in 24-hour HH:MM format, e.g '09:30', '21:59'. Required only when indicating opening hours, else declare closed true. |
Product
An individual product that can be ordered at a store.
Name | Type | Description |
---|---|---|
id | string | A unique ID for the product |
title | string | The name of the product |
available | boolean | Indicates whether the product can be sold. |
description | string | (optional) Supplementary information of the product that will be shown to the customer |
imageUrl | string | (optional)
URL to an image of the product.
Image requirements:
- Hosted on a secure connection (HTTPS).
- Image must be in JPEG or PNG
|
plu | string | (optional) A PLU/SKU/etc for the product, used for discounting and loyalty. This may be the same as the product ID in some systems, and is not required to be unique. For example a chips may exist on the menu as a main item, and as a side with different IDs but the same PLU. |
price | Price | |
options | ProductOption[] | (optional) Specifies the options to be associated with the product, allowing the user to make choices or bundle extras with their product. |
priceOverrides | PriceOverride[] | (optional) Overrides the price of a product |
tags | string[] | (optional) Related tags of a product |
visibility | Period[] | (optional) Defines when a product is visible to the customer |
ProductOption
Allowing the user to customize the product by making choices or bundling extras with their order.
Name | Type | Description |
---|---|---|
id | string | A unique ID of this option |
title | string | The name of the option |
maxQuantity | integer | (optional) Maximum cumulative quantity of the choices selected. If omitted the maximum is unlimited. |
minQuantity | integer | Minimum cumulative quantity of the choices selected |
choices | OptionChoice[] | List of choices in this option |
OptionChoice
Name | Type | Description |
---|---|---|
productId | string | The ID of the product added by this choice |
defaultQuantity | integer | The default quantity of this choice that will be added |
maxQuantity | integer | Maximum quantity of this choice that can be added |
minQuantity | integer | (optional) Minimum quantity of this choice that can be added. If omitted the minimum is 0. |
Price
Specifies the price to charge for ordering a product.
Name | Type | Description |
---|---|---|
amount | integer |
Specifies the price to charge for ordering the product including tax.
Price is in the lowest denomination (e.g., cents).
Price should always be integer value (never decimals).
Price should always be set even if price is 0.
|
taxIncluded | integer | (optional)
Specifies the tax, in the lowest denomination (e.g., cents), that was added to the product.
This can be null if tax is unknown.
All price.taxIncluded fields on all products can either all be of type int or all be undefined/null.
If price.taxRate is a float then price.taxIncluded is required.
|
taxRate | number | (optional)
Specifies the tax rate, as a decimal value (e.g., 5% = 0.05), that was applied to the product.
This can be null if tax rate is unknown.
All price.taxRate fields on all products can either all be of type float or all be undefined/null.
When a price.taxRates is a float price.taxIncluded is required.
|
PriceOverride
Overrides the product price.
Name | Type | Description |
---|---|---|
contextType | string(enum) | Type of context in which to override. "MENU", "PRODUCT" |
contextValue | string | Context Value |
price | Price |
ProductPayload
An updated product, note that omitting a field is the same as setting it to null
Name | Type | Description |
---|---|---|
title | string | The name of the product |
available | boolean | Indicates whether the product can be sold. |
description | string | (optional) Supplementary information of the product that will be shown to the customer |
imageUrl | string | (optional)
URL to an image of the product.
Image requirements:
- Hosted on a secure connection (HTTPS).
- Image must be in JPEG or PNG
|
plu | string | (optional) A PLU/SKU/etc for the product, used for discounting and loyalty. This may be the same as the product ID in some systems, and is not required to be unique. For example a chips may exist on the menu as a main item, and as a side with different IDs but the same PLU. |
price | Price | |
options | ProductOption[] | (optional) Specifies the options to be associated with the product, allowing the user to make choices or bundle extras with their product. |
priceOverrides | PriceOverride[] | (optional) Overrides the price of a product |
tags | string[] | (optional) Related tags of a product |
visibility | Period[] | (optional) Defines when a product is visible to the customer |