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. |
| sku | string | A unique identifier, known as a Stock Keeping Unit (SKU), assigned to the menu item. |
| 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. |
| sku | string | A unique identifier, known as a Stock Keeping Unit (SKU), assigned to the menu modifier. |
| 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. |