- DATE:
- AUTHOR:
- The Toast - API team
Menu items and modifiers that contain alcohol are identifiable
The menus API has been updated to return information about whether a menu item or modifier contains alcohol and may require, or benefit from, additional handling. Examples for why a restaurant would identify a menu item or modifier as containing alcohol include the following:
A menu item or modifier that contains alcohol may require delivery drivers to request identification before giving the items to a guest.
Under some local laws and regulations, guests may not accrue discount or loyalty points on purchases of items that contain alcohol.
Note that not all menu items or modifiers that contain alcohol require, or benefit from, additional handling. For example, a drink containing rum would require an ID check before it is delivered, while a piece of rum cake would not. The alcohol identification feature is designed for menu items and modifiers that need some type of additional handling after they are ordered, such as an ID check or the prevention of loyalty point accruals.
Support for alcohol identification in the menus API
To support the identification of items that contain alcohol, the MenuItem
and ModifierOption
objects of the menus API have a new contentAdvisories
value. The following code sample shows the contentAdvisories
value on a MenuItem
object:
"menuItems": [
{
"name": "Rum Punch",
"guid": "0a6e4999-cfl1-4dd6-bf4d-f4d2b65f7d88",
"multiLocationId": "100000000100009153",
[contents omitted]
"contentAdvisories": {
"alcohol": {
"containsAlcohol": "YES"
}
}
}
]
The contentAdvisories
value holds a single object of type ContentAdvisories
. The purpose of the ContentAdvisories
object is to encapsulate important information about a menu item or modifier's contents. Currently, this object only has information about whether a menu item or modifier contains alcohol. In the future, it could be used for other content information, such as whether the menu item or modifier contains common allergens or is compatible with various dietary restrictions.
The ContentAdvisories
object has an alcohol
value that holds a single object of type Alcohol
. The Alcohol
object encapsulates information related to the alcoholic aspects of the menu item or modifier. Currently, the Alcohol
object has one value, containsAlcohol
. The containsAlcohol
value is a string and may be one of the following:
YES
- The menu item or modifier contains alcohol.NO
- The menu item or modifier does not contain alcohol.
The containsAlcohol
value may also be null
. A null
value indicates that the corresponding user interface option in Toast Web has not been set for this menu item or modifier.
The following code samples show the different ways the containsAlcohol
value may appear in the menus response data.
MenuItem
examples
A MenuItem
object for an item that contains alcohol:
"menuItems": [
{
"name": "Rum Punch",
"guid": "0a6e4999-cfl1-4dd6-bf4d-f4d2b65f7d88",
"multiLocationId": "100000000100003519",
[contents omitted]
"contentAdvisories": {
"alcohol": {
"containsAlcohol": "YES"
}
}
}
]
A MenuItem
object for an item that does not contain alcohol:
"menuItems": [
{
"name": "Rum Cake",
"guid": "0a6e4999-cfl1-4dd6-bf4d-f4d2b65f7d88",
"multiLocationId": "100000000100009153",
[contents omitted]
"contentAdvisories": {
"alcohol": {
"containsAlcohol": "NO"
}
}
}
]
A MenuItem
object for an item whose containsAlcohol
option has not been set in Toast Web:
"menuItems": [
{
"name": "Grilled Cheese",
"guid": "0a6e4999-cfl1-4dd6-bf4d-f4d2b65f7d88",
"multiLocationId": "100000000100009153",
[contents omitted]
"contentAdvisories": {
"alcohol": {
"containsAlcohol": null
}
}
}
]
ModifierOption
examples
A ModifierOption
object for a modifier that contains alcohol:
"modifierOptionReferences": {
"1": {
"referenceId": 1,
"name": "Rum Shot",
"guid": "429f9045-74a1-81bc-4c48-86ce51c2f6ae",
"multiLocationId": "100000000100008684",
[contents omitted]
"contentAdvisories": {
"alcohol": {
"containsAlcohol": "YES"
}
}
}
}
A ModifierOption
object for a modifier that does not contain alcohol:
"modifierOptionReferences": {
"2": {
"referenceId": 2,
"name": "Lettuce",
"guid": "429f9045-74a1-81bc-4c48-86ce51c2f6ae",
"multiLocationId": "100000000100008684",
[contents omitted]
"contentAdvisories": {
"alcohol": {
"containsAlcohol": "NO"
}
}
}
}
A ModifierOption
object for a modifier that has not had its containsAlcohol
option set in Toast Web:
"modifierOptionReferences": {
"3": {
"referenceId": 3,
"name": "Cheese",
"guid": "429f9045-74a1-81bc-4c48-86ce51c2f6ae",
"multiLocationId": "100000000100008684",
[contents omitted]
"contentAdvisories": {
"alcohol": {
"containsAlcohol": null
}
}
}
}
containsAlcohol
value is null
until the corresponding user interface option is available
The ModifierOption
value has been included in the menus API payload now, before the corresponding user interface option has been added to Toast Web, to allow you to prepare your integration to consume the new value before restaurants start using it in their configurations. This means that, until the UI option is available, the containsAlcohol
value for menu items and modifiers will always be null. A subsequent release note will inform you when the UI option is available in Toast Web and restaurants may begin using it to identify menu items and modifiers that contain alcohol.
UI option for modifiers will exist on the item reference details page
When it becomes available, the UI option to indicate that a modifier contains alcohol will exist on the details page for the modifier’s underlying menu item reference, not on the details page for the modifier itself.