- Resource: Menu
- Item
- Image
- Availability
- DaypartAvailability
- Status
- ItemIntegrationAttributes
- ModifierGroupReference
- DefaultModifierSelection
- ModifierConstraints
- Modifier
- ModifierIntegrationAttributes
- ModifierGroup
- ModifierAction
- ModifierGroupIntegrationAttributes
- MenuCategory
- MenuLabel
- Methods
Resource: Menu
Defines a menu of what can be ordered from a restaurant.
| JSON representation |
|---|
{ "name": string, "store": string, "displayName": string, "items": [ { object ( |
| Fields | |
|---|---|
name |
Identifier. The menu name. Format: projects/{project}/locations/{location}/menus/{menu} |
store |
Optional. The resource name of the Store this Menu is associated with. Format: projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
displayName |
Optional. Optional, human-readable display name for this menu for user interfaces. |
items[] |
Optional. Items in this menu. |
modifiers[] |
Optional. Item modifiers in this menu. |
modifierGroups[] |
Optional. Modifier groups in this menu. |
categories[] |
Optional. Menu categories in this menu. |
createTime |
Output only. The time this menu was created. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
updateTime |
Output only. The time this menu was last updated. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
labels[] |
Optional. Labels for this menu. |
Item
Item represents a menu entity which is valid only as a top-level item within an order. Item may represent a single food item, drink, service, promotion, or combination meal which can be modified with various choices.
| JSON representation |
|---|
{ "id": string, "semanticName": string, "displayName": string, "categoryIds": [ string ], "description": string, "image": { object ( |
| Fields | |
|---|---|
id |
Required. Identifier for this item, unique within the menu. |
semanticName |
Optional. Concise, human-readable name which clearly & distinctly identifies this item. Should be unique among Items in the menu. |
displayName |
Required. Human-readable name for this item to be used on user interfaces. |
categoryIds[] |
Optional. Category of the item. |
description |
Optional. Human-readable description. |
image |
Optional. Image to display for this item in the UI. |
availability |
Optional. Availability of the item. |
numericAbbreviations[] |
Optional. Short, usually numeric abbreviations that users might use to refer to this item, as in, "I'd like a number 3." Must be at most 3 characters. |
basePrice |
Optional. The base price of the item. This may be affected by the selected modifiers. |
integrationAttributes |
Optional. Metadata associated with this entity used for downstream integrations. |
modifierGroups[] |
Optional. References to modifier groups which apply to this item. |
modifierConstraints |
Optional. Constrains what modifiers can / must be applied to this item across referenced ModifierGroups. |
Image
Image to display for a menu entity.
| JSON representation |
|---|
{ "sourceUri": string } |
| Fields | |
|---|---|
sourceUri |
Required. The source URI of the image. |
Availability
Defines the availability of an item or modifier.
| JSON representation |
|---|
{ "daypartAvailability": { object ( |
| Fields | |
|---|---|
daypartAvailability |
Optional. Daypart-level availability information for this item. If omitted, daypart-based availability is ignored. |
status |
Optional. Indicates a status leading to unavailability, or that the item is available. If omitted, the item is available by default. |
DaypartAvailability
Constrains availability of this entity to specified dayparts.
| JSON representation |
|---|
{ "daypartIds": [ string ] } |
| Fields | |
|---|---|
daypartIds[] |
Required. Dayparts during which this item is available. |
Status
Status of availability.
| Enums | |
|---|---|
STATUS_UNSPECIFIED |
Invalid status. menus.create will fail if any item or modifier has this status. |
STATUS_AVAILABLE |
Indicates that the item is available for purchase. |
STATUS_UNAVAILABLE |
Indicates that the item is unavailable for ambiguous reasons. |
STATUS_OUT_OF_STOCK |
Indicates that the item is currently out of stock, but may become available in the near future. |
STATUS_DISCONTINUED |
Indicates that the item is discontinued, and will remain unavailable for the foreseeable future. |
ItemIntegrationAttributes
Metadata associated with an item used for downstream integrations.
| JSON representation |
|---|
{ "customIntegrationAttributes": { object } } |
| Fields | |
|---|---|
customIntegrationAttributes |
Optional. Arbitrary metadata to be associated with an entity, used to build downstream integrations, i.e. identifiers or schema information for constructing an order for submission to a third-party point of sale API. |
ModifierGroupReference
A reference to a modifier group.
| JSON representation |
|---|
{
"id": string,
"defaultModifiers": [
{
object ( |
| Fields | |
|---|---|
id |
Required. The modifier group ID. |
defaultModifiers[] |
Optional. The set of modifiers that are applied by default. |
minSelectionCount |
Optional. The minimum count of modifiers from the referenced ModifierGroup which must be selected. If this value is set on both the ModifierGroupReference and the ModifierGroup, both constraints are enforced. If not set, there is no minimum. |
maxSelectionCount |
Optional. The maximum count of total modifiers from the referenced group that may be selected. If this value is set on both the ModifierGroupReference and the ModifierGroup, both constraints are enforced. If not set, there is no maximum. |
DefaultModifierSelection
Specifies the default selection of a modifier within a ModifierGroup.
| JSON representation |
|---|
{ "id": string, "quantity": integer } |
| Fields | |
|---|---|
id |
Required. The modifier ID. |
quantity |
Optional. The quantity of this modifier to apply. If omitted, reference is treated as having a quantity of 1. |
ModifierConstraints
Constrains what modifiers can or must be applied to an entity across referenced ModifierGroups.
| JSON representation |
|---|
{ "minQuantity": integer, "maxQuantity": integer } |
| Fields | |
|---|---|
minQuantity |
Optional. The minimum number of modifiers that must be applied across directly referenced ModifierGroups. If not specified, no minimum is enforced. |
maxQuantity |
Optional. The maximum number of modifiers that may be applied across directly referenced ModifierGroups. If not specified, no maximum is enforced. |
Modifier
Defines modifying options made within for items or other modifiers, via relationships defined by ModifierGroup.
| JSON representation |
|---|
{ "id": string, "displayName": string, "description": string, "image": { object ( |
| Fields | |
|---|---|
id |
Required. Identifier for this modifier, unique within the menu. |
displayName |
Required. Human-readable name for this item to be used on user interfaces. |
description |
Optional. Human-readable description. |
image |
Optional. Image to display for this item in the UI. |
semanticName |
Optional. Concise, human-readable name which clearly & distinctly identifies this modifier. Should be unique among Modifiers in ModifierGroups where this Modifier exists. |
categoryIds[] |
Optional. Category of the modifier. |
availability |
Optional. Availability for this modifier. |
priceAdjustment |
Optional. An additive adjustment applied to the top-level item's price when this modifier is selected. Leave empty if the modifier does not affect the price. |
integrationAttributes |
Optional. Metadata associated with this entity used for downstream integrations. |
modifierGroups[] |
Optional. References to modifier groups which apply to this modifier. |
modifierConstraints |
Optional. Constrains what modifiers can / must be applied to this modifier across referenced ModifierGroups. |
ModifierIntegrationAttributes
Metadata associated with a modifier used for downstream integrations.
| JSON representation |
|---|
{ "customIntegrationAttributes": { object } } |
| Fields | |
|---|---|
customIntegrationAttributes |
Optional. Arbitrary metadata to be associated with an entity, used to build downstream integrations, i.e. identifiers or schema information for constructing an order for submission to a third-party point of sale API. |
ModifierGroup
Defines a group of modifiers from which selections can be made.
| JSON representation |
|---|
{ "id": string, "displayName": string, "semanticName": string, "modifierIds": [ string ], "modifierActions": [ { object ( |
| Fields | |
|---|---|
id |
Required. Identifier for this modifier group, unique within its menu. |
displayName |
Required. The modifier group name -- e.g. "Toppings (Sandwich)" or "Side for Medium Combo". |
semanticName |
Optional. The modifier group name -- e.g. "Toppings (Sandwich)" or "Side for Combo". |
modifierIds[] |
Required. The modifier IDs that are part of this group. |
modifierActions[] |
Optional. The actions that can be taken on the modifiers in this group. |
minSelectionCount |
Optional. The minimum count of modifiers from the referenced group that must be selected in order for the Item to be valid. If not set, there is no minimum. For a group where exactly one selection is required, this should be 1. |
maxSelectionCount |
Optional. The maximum count of total modifiers from the referenced group that may be selected. If not set, there is no maximum. For a group where exactly one selection is required, this should be 1. |
maxSelectionCountPerModifier |
Optional. Limits the number of times each modifier can be applied within this group. If not set, the default is 1. |
integrationAttributes |
Optional. Metadata associated with this entity used for downstream integrations. |
ModifierAction
Defines an action that can be taken on modifiers.
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Required. The modifier action name -- e.g. "NO", "SIDE", "ADD", "EXTRA". |
ModifierGroupIntegrationAttributes
Metadata associated with a modifier group used for downstream integrations.
| JSON representation |
|---|
{ "customIntegrationAttributes": { object } } |
| Fields | |
|---|---|
customIntegrationAttributes |
Optional. Arbitrary metadata to be associated with an entity, used to build downstream integrations, i.e. identifiers or schema information for constructing an order for submission to a third-party point of sale API. |
MenuCategory
Defines a category containing items or modifiers. Categories are used to organize items in user interfaces and for semantic grouping for the agent's understanding.
| JSON representation |
|---|
{ "id": string, "displayName": string, "description": string, "parentId": string } |
| Fields | |
|---|---|
id |
Required. Identifier for this menu category, unique within the menu. |
displayName |
Optional. Human-readable name for this menu category to be used on user interfaces. |
description |
Optional. Human-readable description. |
parentId |
Optional. The parent menu category ID. If empty, this is a top-level category. |
MenuLabel
String labels for describing a menu in UIs.
| JSON representation |
|---|
{ "name": string } |
| Fields | |
|---|---|
name |
Required. Name for the label. |
Methods |
|
|---|---|
|
Creates a menu. |
|
Deletes the specified menu. |
|
Gets a menu. |
|
Lists menus. |