REST Resource: projects.locations.menus

商品表示菜单实体,仅在订单中作为顶级商品有效。商品可以代表单个食品、饮料、服务、促销活动或套餐,这些商品可以通过各种选项进行修改。

JSON 表示法
{
  "id": string,
  "semanticName": string,
  "displayName": string,
  "categoryIds": [
    string
  ],
  "description": string,
  "image": {
    object (Image)
  },
  "availability": {
    object (Availability)
  },
  "basePrice": {
    object (Money)
  },
  "integrationAttributes": {
    object (ItemIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (ModifierGroupReference)
    }
  ],
  "modifierConstraints": {
    object (ModifierConstraints)
  }
}
字段
id

string

必需。相应项的标识符,在菜单中是唯一的。

semanticName

string

可选。简明直观的名称,可清晰明确地标识相应商品。在菜单中的商品之间应该是唯一的。

displayName

string

必需。要在界面中使用的相应商品的人类可读名称。

categoryIds[]

string

可选。商品的类别。

description

string

可选。人类可读的说明。

image

object (Image)

可选。要在界面中为此商品显示的图片。

availability

object (Availability)

可选。推荐项的可用性。

basePrice

object (Money)

可选。商品的基本价格。这可能会受到所选修饰符的影响。

integrationAttributes

object (ItemIntegrationAttributes)

可选。与此实体关联的元数据,用于下游集成。

modifierGroups[]

object (ModifierGroupReference)

可选。适用于相应商品的修饰符组的引用。

modifierConstraints

object (ModifierConstraints)

可选。限制了可 / 必须跨引用的 ModifierGroup 应用于此项的修饰符。

可用性

定义商品或加项的供应情况。

JSON 表示法
{
  "daypartAvailability": {
    object (DaypartAvailability)
  },
  "menuScheduleAvailability": {
    object (MenuScheduleAvailability)
  },
  "status": enum (Status),
  "fulfillmentAvailability": {
    object (FulfillmentMethodAvailability)
  }
}
字段
daypartAvailability

object (DaypartAvailability)

可选。相应商品的日内时段级提供情况信息。如果省略,系统会忽略基于时段的有效性。

menuScheduleAvailability

object (MenuScheduleAvailability)

可选。相应商品的菜单时间表级提供情况信息。如果省略,则忽略基于菜单时间表的可用性。

status

enum (Status)

可选。表示导致商品无法使用的状态,或表示商品可供使用。如果省略,则默认情况下该商品处于有效状态。

fulfillmentAvailability

object (FulfillmentMethodAvailability)

可选。相应商品的配送方式。如果省略,则表示该商品适用于所有配送方式。

DaypartAvailability

将相应实体的可用性限制为指定的时间段。

JSON 表示法
{
  "daypartIds": [
    string
  ]
}
字段
daypartIds[]

string

必需。相应商品可供购买的时段。

状态

可用性状态。

枚举
STATUS_UNSPECIFIED 状态无效。如果任何商品或修饰符具有此状态,menus.create 将失败。
STATUS_AVAILABLE 表示相应商品可供购买。
STATUS_UNAVAILABLE 表示商品因原因不明而无法提供。
STATUS_OUT_OF_STOCK 表示商品目前缺货,但可能很快就会有货。
STATUS_DISCONTINUED 表示相应商品已停产,在可预见的未来将一直处于缺货状态。

FulfillmentMethodAvailability

将相应实体的可用性限制为指定的配送方式。

JSON 表示法
{
  "fulfillmentMethods": [
    enum (FulfillmentMethod)
  ]
}
字段
fulfillmentMethods[]

enum (FulfillmentMethod)

必需。相应商品的配送方式。

ModifierGroupReference

对修饰符组的引用。

JSON 表示法
{
  "id": string,
  "defaultModifiers": [
    {
      object (DefaultModifierSelection)
    }
  ],
  "minSelectionCount": integer,
  "maxSelectionCount": integer
}
字段
id

string

必需。修饰符组 ID。

defaultModifiers[]

object (DefaultModifierSelection)

可选。默认应用的一组修饰符。

minSelectionCount

integer

可选。必须从所引用的 ModifierGroup 中选择的修饰符的最小数量。如果 ModifierGroupReference 和 ModifierGroup 中都设置了此值,则会同时强制执行这两个限制条件。如果未设置,则没有下限。

maxSelectionCount

integer

可选。可选择的引用组中修饰符的总数上限。如果 ModifierGroupReference 和 ModifierGroup 中都设置了此值,则会同时强制执行这两个限制条件。如果未设置,则没有上限。

DefaultModifierSelection

指定 ModifierGroup 中修饰符的默认选择。

JSON 表示法
{
  "id": string,
  "quantity": integer
}
字段
id

string

必需。修饰符 ID。

quantity

integer

可选。要应用此调节系数的数量。如果省略,则将参考的 quantity 视为 1。

ModifierConstraints

限制可或必须应用于引用 ModifierGroups 的实体的修饰符。

JSON 表示法
{
  "minQuantity": integer,
  "maxQuantity": integer
}
字段
minQuantity

integer

可选。必须在直接引用的 ModifierGroup 中应用的修饰符的最小数量。如果未指定,则不强制执行任何下限。

maxQuantity

integer

可选。可应用于直接引用的 ModifierGroup 的修饰符数量上限。如果未指定,则不会强制执行上限。

修饰符

通过 ModifierGroup 定义的关系,定义在商品或其他修饰符内进行的修改选项。

JSON 表示法
{
  "id": string,
  "displayName": string,
  "description": string,
  "image": {
    object (Image)
  },
  "semanticName": string,
  "categoryIds": [
    string
  ],
  "availability": {
    object (Availability)
  },
  "priceAdjustment": {
    object (Money)
  },
  "integrationAttributes": {
    object (ModifierIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (ModifierGroupReference)
    }
  ],
  "modifierConstraints": {
    object (ModifierConstraints)
  }
}
字段
id

string

必需。相应功能变量的标识符,在菜单中必须唯一。

displayName

string

必需。要在界面中使用的相应商品的人类可读名称。

description

string

可选。人类可读的说明。

image

object (Image)

可选。要在界面中为此商品显示的图片。

semanticName

string

可选。简明易懂的名称,可清晰明确地标识相应修饰符。在包含相应修饰符的 ModifierGroup 中,应具有唯一性。

categoryIds[]

string

可选。调节系数的类别。

availability

object (Availability)

可选。相应调节系数的适用范围。

priceAdjustment

object (Money)

可选。选择此修饰符后,系统会向顶级商品的价格应用加性调整。如果相应调节器不影响价格,则留空。

integrationAttributes

object (ModifierIntegrationAttributes)

可选。与此实体关联的元数据,用于下游集成。

modifierGroups[]

object (ModifierGroupReference)

可选。适用于相应修饰符的修饰符组的引用。

modifierConstraints

object (ModifierConstraints)

可选。限制了哪些修饰符可以 / 必须应用于所引用 ModifierGroup 中的此修饰符。

ModifierGroup

定义一组可供选择的修饰符。

JSON 表示法
{
  "id": string,
  "displayName": string,
  "semanticName": string,
  "modifierIds": [
    string
  ],
  "modifierActions": [
    {
      object (ModifierAction)
    }
  ],
  "minSelectionCount": integer,
  "maxSelectionCount": integer,
  "maxSelectionCountPerModifier": integer,
  "integrationAttributes": {
    object (ModifierGroupIntegrationAttributes)
  }
}
字段
id

string

必需。相应功能组的标识符,在相应菜单中必须是唯一的。

displayName

string

必需。修饰符组名称,例如“配料(三明治)”或“中份套餐的配菜”。

semanticName

string

可选。加项组名称,例如“配料(三明治)”或“套餐中的配菜”。

modifierIds[]

string

必需。相应组中的修饰符 ID。

modifierActions[]

object (ModifierAction)

可选。可对相应组中的修饰符执行的操作。

minSelectionCount

integer

可选。为了使商品有效,必须从所引用的组中选择的修饰符的最小数量。如果未设置,则没有下限。对于需要正好选择一个选项的群组,此值应为 1。

maxSelectionCount

integer

可选。可选择的引用组中修饰符的总数上限。如果未设置,则没有上限。对于需要正好选择一个选项的群组,此值应为 1。

maxSelectionCountPerModifier

integer

可选。限制每个修饰符在此组中可应用的次数。如果未设置,则默认值为 1。

integrationAttributes

object (ModifierGroupIntegrationAttributes)

可选。与此实体关联的元数据,用于下游集成。

ModifierAction

定义可对修饰符执行的操作。

JSON 表示法
{
  "name": string
}
字段
name

string

必需。修饰符操作名称,例如“NO”“SIDE”“ADD”“EXTRA”。

方法

create

创建菜单。

delete

删除指定的菜单。

get

获取菜单。

list

列出菜单。