Online Ordering Menu V3
IMPORTANT! This API resource is under development. Please reach out your Shift4 technical representative for more details.
The image below presents a high level overview of how Menu creation and update work via our API.
Methods & Webhooks
Retrieve Menu
Retrieve a latest Menu for Online Ordering.
GET /online-ordering/v3/{locationId}/menu
Response 200
Returns all menu objects within dependencies for Online Ordering.
{
"schedules": {<MenuSchedule>},
"categories": {<MenuCategory>},
"items": {<MenuItem>},
"modifierSets": {<MenuModifierSet>},
"modifiers": {<MenuModifier>},
"taxes": {<MenuTax>}
}
Definitions
- Online Menu V3
- Menu Schedule
- Menu Schedule Hours
- Menu Schedule Periods
- Menu Schedule Category
- Menu Category
- Menu Item
- Menu Item Modifier Set
- Menu Item Modifier
- Menu Modifier Set
- Menu Modifier
- Menu Tax
- Menu Tax Rate
Online Menu V3
Online Menu structure for Online Ordering V3 integrations.
Name | Type | Description |
---|---|---|
schedules* | array | Collection of Online Menu Schedules. Sort order is not important. |
categories* | array | Collection of Online Menu Categories. Sort order is not important. |
items* | array | Collection of Online Menu Items. Sort order is not important. |
modifierSets* | array | Collection of Online Menu Modifier Sets. Sort order is not important. |
modifiers* | array | Collection of Online Menu Modifiers. Sort order is not important. |
taxes* | array | Collection of Menu Taxes. Sort order is not important. |
Menu Schedule
Name | Type | Description |
---|---|---|
ref* | string | A unique identifying string for the Schedule. Unique per the list of Location's Online Schedules. |
name* | string | The Schedule name displayed to the diner for online ordering. |
available* | boolean | In case true this schedule is available online, otherwise this schedule is hidden from online menu. |
hours* | array | Collection of Schedule Hours. Sorted by day of week from Monday to Sunday. |
periods | array | Collection of Schedule Periods (with cross day boundary support). Sorted by day of week from Monday to Sunday. |
categories* | array | Collection of Schedule Categories. Sorted in the same order as displayed. |
Menu Schedule Hours
Name | Type | Description |
---|---|---|
dayOfWeek* | string | Available day of weeks:
|
endTime* | string | Schedule end time in Local Timezone, etc: 23:00:00 . |
startTime* | string | Schedule start time in Local Timezone, etc: 00:00:00 . |
Menu Schedule Periods
Name | Type | Description |
---|---|---|
dayOfWeek* | string | Available day of weeks:
|
endTime* | string | Schedule end time in Local Timezone, etc: 23:00:00 . |
startTime* | string | Schedule start time in Local Timezone, etc: 00:00:00 . |
isOvernight* | boolean | If "true" the Schedule "endTime" presents a next day time, otherwise, ("false") store closes the same day. |
Menu Schedule Category
Name | Type | Description |
---|---|---|
categoryRef* | string | The reference to the category. |
itemRefs* | array | Collection of Items refs that belong to this category. Sorted in the same order as displayed within a category. |
Menu Category
A category of the menu - such as appetizers, breakfast, or drinks - including the menu items that these categories contain.
Name | Type | Description |
---|---|---|
ref* | string | Online Category reference ID. Unique per the list of Location's Online Categories. |
name* | string | The category name displayed to the diner for online ordering. |
description | string | The description displayed to the diner for online ordering. |
available* | boolean | In case true this category is available online, otherwise this category is hidden from online menu. |
Menu Item
The Menu item for sale on Online Ordering.
Name | Type | Description |
---|---|---|
ref* | string | Online Item reference ID. Unique per the list of Location's Online Items. |
name* | string | The name shown to the diner. |
description | string | The description shown to the diner. |
available* | boolean | In case true this item is available online, otherwise this item is hidden from online menu. |
customLabels | array | Collection of custom, user-assigned labels for this item. |
price | number | The price in US cents per unit. |
upc | string | Unique product code (UPC) assigned to the item for scanning and lookup. |
tags | array | Item clasification. Sorted in the same order as displayed. |
modifierSets* | array | Collection of Item Modifier Sets that belong to this item. Sorted in the same order as displayed within an item. |
taxRefs | array | Collection of Tax references which belong to this item. Sort order is not important. |
imageUrl800x800 | string | (optional) URL pointing to an image of the item.
|
imageUrl1600x900 | string | (optional) URL pointing to an image of the item.
|
imageUrl1600x1600 | string | (optional) URL pointing to an image of the item.
|
Menu Item Modifier Set
Name | Type | Description |
---|---|---|
modifierSetRef* | string | The reference to the modifier set. |
modifiers* | array | Collection of Item Modifiers that belong to this Item Modifier Set. Sorted in the same order as displayed within a Modifier Set. |
Menu Item Modifier
Name | Type | Description |
---|---|---|
modifierRef* | string | The reference to the modifier. |
taxRefs* | array | Collection of Tax references that belong to this Item Modifier. |
price* | number | The price in US cents per unit. The additional cost applied to order if a diner selects this modifier. |
modifierSets* | array | Collection of Item Modifier Sets that belong to this Modifier. Sorted in the same order as displayed within a Modifier. |
Menu Modifier Set
The various modifier types that can apply to this item, as well as the options available and the selection model.
Name | Type | Description |
---|---|---|
ref* | string | Online Modifier Set reference ID. Unique per the list of Location's Online Modifier Sets. |
name* | string | Display name. |
description | string | Display description. |
minModifiersPerSet | number | Minimum number of modifiers that must be selected from this set. Null value represents no-restriction, there are no requirement to choose any modifier. |
maxModifiersPerSet | number | Maximum number of modifiers that can be selected from this set. Null value represents no-restriction, choose as many modifiers as you want. |
available* | boolean | In case true this modifier set is available online, otherwise this modifier set is hidden from online menu. |
Menu Modifier
A selection, modification, or addition to an Item, which may or may not affect the final price of the Item.
Name | Type | Description |
---|---|---|
ref* | string | Online Modifier reference ID. Unique per the list of Location's Online Modifiers. |
name* | string | Display name. |
description | string | Display description. |
available* | boolean | In case true this item is available online, otherwise this item is hidden from online menu. |
Menu Tax
Tax rate to be applied at order checkout, if the diner is not tax-exempt.
Name | Type | Description |
---|---|---|
ref* | string | Tax reference ID. Unique per the list of Location's Online Taxes. |
name* | string | Tax name. |
rate* | object | Tax rate details. |
isHidden | boolean | Indicates that this Tax is hidden. |
Menu Tax Rate
Tax rate details.
Name | Type | Description |
---|---|---|
type* | string | Available tax types:
|
percent* | integer | Non-null in case type is percent. Tax rate (Integer, division by 10000 to get a percent. In case there is rate of 1000000 there will be 100 percent) |
amount* | integer | Non-null in case type is amount. The amount in US cents. |