- 资源:Menu
- 商品
- 适用范围
- DaypartAvailability
- MenuScheduleAvailability
- 状态
- FulfillmentMethodAvailability
- ModifierGroupReference
- DefaultModifierSelection
- ModifierConstraints
- 修饰符
- ModifierGroup
- ModifierAction
- MenuCategory
- MenuLabel
- MenuSchedule
- 方法
资源:菜单
定义可从餐厅订购的菜单。
| JSON 表示法 |
|---|
{ "name": string, "store": string, "displayName": string, "items": [ { object ( |
| 字段 | |
|---|---|
name |
标识符。菜单名称。格式:projects/{project}/locations/{location}/menus/{menu} |
store |
可选。相应菜单所关联的商店的资源名称。格式:projects/{project}/locations/{location}/brands/{brand}/stores/{store} |
displayName |
可选。(可选)此菜单在界面中显示的人类可读名称。 |
items[] |
可选。相应菜单中的项。 |
modifiers[] |
可选。此菜单中的商品修饰符。 |
modifierGroups[] |
可选。此菜单中的修饰符组。 |
categories[] |
可选。相应菜单中的菜单类别。 |
createTime |
仅限输出。相应菜单的创建时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
updateTime |
仅限输出。相应菜单的上次更新时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
labels[] |
可选。相应菜单的标签。 |
menuSchedules[] |
可选。此菜单中的菜单时间表。 |
项
商品表示菜单实体,仅在订单中作为顶级商品有效。商品可以代表单个食品、饮料、服务、促销活动或套餐,这些商品可以通过各种选项进行修改。
| JSON 表示法 |
|---|
{ "id": string, "semanticName": string, "displayName": string, "categoryIds": [ string ], "description": string, "image": { object ( |
| 字段 | |
|---|---|
id |
必需。相应项的标识符,在菜单中是唯一的。 |
semanticName |
可选。简明直观的名称,可清晰明确地标识相应商品。在菜单中的商品之间应该是唯一的。 |
displayName |
必需。要在界面中使用的相应商品的人类可读名称。 |
categoryIds[] |
可选。商品的类别。 |
description |
可选。人类可读的说明。 |
image |
可选。要在界面中为此商品显示的图片。 |
availability |
可选。推荐项的可用性。 |
basePrice |
可选。商品的基本价格。这可能会受到所选修饰符的影响。 |
integrationAttributes |
可选。与此实体关联的元数据,用于下游集成。 |
modifierGroups[] |
可选。适用于相应商品的修饰符组的引用。 |
modifierConstraints |
可选。限制了可 / 必须跨引用的 ModifierGroup 应用于此项的修饰符。 |
可用性
定义商品或加项的供应情况。
| JSON 表示法 |
|---|
{ "daypartAvailability": { object ( |
| 字段 | |
|---|---|
daypartAvailability |
可选。相应商品的日内时段级提供情况信息。如果省略,系统会忽略基于时段的有效性。 |
menuScheduleAvailability |
可选。相应商品的菜单时间表级提供情况信息。如果省略,则忽略基于菜单时间表的可用性。 |
status |
可选。表示导致商品无法使用的状态,或表示商品可供使用。如果省略,则默认情况下该商品处于有效状态。 |
fulfillmentAvailability |
可选。相应商品的配送方式。如果省略,则表示该商品适用于所有配送方式。 |
DaypartAvailability
将相应实体的可用性限制为指定的时间段。
| JSON 表示法 |
|---|
{ "daypartIds": [ string ] } |
| 字段 | |
|---|---|
daypartIds[] |
必需。相应商品可供购买的时段。 |
MenuScheduleAvailability
将相应实体的供应情况限制为指定的菜单时间表。
| JSON 表示法 |
|---|
{ "menuScheduleIds": [ string ] } |
| 字段 | |
|---|---|
menuScheduleIds[] |
必需。此商品可供购买的菜单时间表。 |
状态
可用性状态。
| 枚举 | |
|---|---|
STATUS_UNSPECIFIED |
状态无效。如果任何商品或修饰符具有此状态,menus.create 将失败。 |
STATUS_AVAILABLE |
表示相应商品可供购买。 |
STATUS_UNAVAILABLE |
表示商品因原因不明而无法提供。 |
STATUS_OUT_OF_STOCK |
表示商品目前缺货,但可能很快就会有货。 |
STATUS_DISCONTINUED |
表示相应商品已停产,在可预见的未来将一直处于缺货状态。 |
FulfillmentMethodAvailability
将相应实体的可用性限制为指定的配送方式。
| JSON 表示法 |
|---|
{
"fulfillmentMethods": [
enum ( |
| 字段 | |
|---|---|
fulfillmentMethods[] |
必需。相应商品的配送方式。 |
ModifierGroupReference
对修饰符组的引用。
| JSON 表示法 |
|---|
{
"id": string,
"defaultModifiers": [
{
object ( |
| 字段 | |
|---|---|
id |
必需。修饰符组 ID。 |
defaultModifiers[] |
可选。默认应用的一组修饰符。 |
minSelectionCount |
可选。必须从所引用的 ModifierGroup 中选择的修饰符的最小数量。如果 ModifierGroupReference 和 ModifierGroup 中都设置了此值,则会同时强制执行这两个限制条件。如果未设置,则没有下限。 |
maxSelectionCount |
可选。可选择的引用组中修饰符的总数上限。如果 ModifierGroupReference 和 ModifierGroup 中都设置了此值,则会同时强制执行这两个限制条件。如果未设置,则没有上限。 |
DefaultModifierSelection
指定 ModifierGroup 中修饰符的默认选择。
| JSON 表示法 |
|---|
{ "id": string, "quantity": integer } |
| 字段 | |
|---|---|
id |
必需。修饰符 ID。 |
quantity |
可选。要应用此调节系数的数量。如果省略,则将参考的 quantity 视为 1。 |
ModifierConstraints
限制可或必须应用于引用 ModifierGroups 的实体的修饰符。
| JSON 表示法 |
|---|
{ "minQuantity": integer, "maxQuantity": integer } |
| 字段 | |
|---|---|
minQuantity |
可选。必须在直接引用的 ModifierGroup 中应用的修饰符的最小数量。如果未指定,则不强制执行任何下限。 |
maxQuantity |
可选。可应用于直接引用的 ModifierGroup 的修饰符数量上限。如果未指定,则不会强制执行上限。 |
修饰符
通过 ModifierGroup 定义的关系,定义在商品或其他修饰符内进行的修改选项。
| JSON 表示法 |
|---|
{ "id": string, "displayName": string, "description": string, "image": { object ( |
| 字段 | |
|---|---|
id |
必需。相应功能变量的标识符,在菜单中必须唯一。 |
displayName |
必需。要在界面中使用的相应商品的人类可读名称。 |
description |
可选。人类可读的说明。 |
image |
可选。要在界面中为此商品显示的图片。 |
semanticName |
可选。简明易懂的名称,可清晰明确地标识相应修饰符。在包含相应修饰符的 ModifierGroup 中,应具有唯一性。 |
categoryIds[] |
可选。调节系数的类别。 |
availability |
可选。相应调节系数的适用范围。 |
priceAdjustment |
可选。选择此修饰符后,系统会向顶级商品的价格应用加性调整。如果相应调节器不影响价格,则留空。 |
integrationAttributes |
可选。与此实体关联的元数据,用于下游集成。 |
modifierGroups[] |
可选。适用于相应修饰符的修饰符组的引用。 |
modifierConstraints |
可选。限制了哪些修饰符可以 / 必须应用于所引用 ModifierGroup 中的此修饰符。 |
ModifierGroup
定义一组可供选择的修饰符。
| JSON 表示法 |
|---|
{ "id": string, "displayName": string, "semanticName": string, "modifierIds": [ string ], "modifierActions": [ { object ( |
| 字段 | |
|---|---|
id |
必需。相应功能组的标识符,在相应菜单中必须是唯一的。 |
displayName |
必需。修饰符组名称,例如“配料(三明治)”或“中份套餐的配菜”。 |
semanticName |
可选。加项组名称,例如“配料(三明治)”或“套餐中的配菜”。 |
modifierIds[] |
必需。相应组中的修饰符 ID。 |
modifierActions[] |
可选。可对相应组中的修饰符执行的操作。 |
minSelectionCount |
可选。为了使商品有效,必须从所引用的组中选择的修饰符的最小数量。如果未设置,则没有下限。对于需要正好选择一个选项的群组,此值应为 1。 |
maxSelectionCount |
可选。可选择的引用组中修饰符的总数上限。如果未设置,则没有上限。对于需要正好选择一个选项的群组,此值应为 1。 |
maxSelectionCountPerModifier |
可选。限制每个修饰符在此组中可应用的次数。如果未设置,则默认值为 1。 |
integrationAttributes |
可选。与此实体关联的元数据,用于下游集成。 |
ModifierAction
定义可对修饰符执行的操作。
| JSON 表示法 |
|---|
{ "name": string } |
| 字段 | |
|---|---|
name |
必需。修饰符操作名称,例如“NO”“SIDE”“ADD”“EXTRA”。 |
MenuCategory
定义包含商品或修饰符的类别。类别用于在界面中整理商品,并用于语义分组,以便代理理解。
| JSON 表示法 |
|---|
{ "id": string, "displayName": string, "description": string, "parentId": string } |
| 字段 | |
|---|---|
id |
必需。相应菜单类别的标识符,在菜单中必须是唯一的。 |
displayName |
可选。要在界面中使用的相应菜单类别的人类可读名称。 |
description |
可选。人类可读的说明。 |
parentId |
可选。父级菜单类别 ID。如果为空,则表示这是顶级类别。 |
MenuLabel
用于在界面中描述菜单的字符串标签。
| JSON 表示法 |
|---|
{ "name": string } |
| 字段 | |
|---|---|
name |
必需。标签的名称。 |
MenuSchedule
定义商品和修饰符的菜单时间表。
| JSON 表示法 |
|---|
{
"id": string,
"schedules": [
{
object ( |
| 字段 | |
|---|---|
id |
可选。时间表 ID,例如“BREAKFAST”“LUNCH”等。 |
schedules[] |
可选。安排活跃时间。 |
displayName |
可选。为此时间表指定可选的显示名称。 |
方法 |
|
|---|---|
|
创建菜单。 |
|
删除指定的菜单。 |
|
获取菜单。 |
|
列出菜单。 |