Order

订单表示用户正在进行或已完成的订单的内容。

JSON 表示法
{
  "items": [
    {
      object (OrderItem)
    }
  ],
  "metadata": {
    object (OrderMetadata)
  },
  "fulfillment": {
    object (OrderFulfillment)
  },
  "priceInfo": {
    object (OrderPriceInfo)
  },
  "externalOrderId": string
}
字段
items[]

object (OrderItem)

可选。订单中的商品。

metadata

object (OrderMetadata)

可选。在订单期间收集或推断出的其他元数据。

fulfillment

object (OrderFulfillment)

可选。相应订单的履单信息。

priceInfo

object (OrderPriceInfo)

可选。相应订单的价格信息。

externalOrderId

string

仅限输出。相应订单的外部标识符。仅在启用销售终端集成时填充。

OrderItem

OrderItem 用于指定属于订单的商品的状态。

JSON 表示法
{
  "uid": string,
  "itemId": string,
  "displayName": string,
  "image": {
    object (Image)
  },
  "basePrice": {
    object (Money)
  },
  "integrationAttributes": {
    object (ItemIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ],
  "quantity": integer,
  "totalPrice": {
    object (Money)
  },
  "categoryIds": [
    string
  ]
}
字段
uid

string

可选。系统为相应商品分配的唯一标识符。

itemId

string

必需。菜单中某个项的标识符,在相应菜单中具有唯一性。

displayName

string

仅限输出。此订单项的人类可读名称,将在界面上显示。

image

object (Image)

仅限输出。要在界面中为此商品显示的图片。

basePrice

object (Money)

仅限输出。商品的基本价格。这可能会受到所选修正因素的影响。这是商品的单价。

integrationAttributes

object (ItemIntegrationAttributes)

仅限输出。与此实体关联的元数据,用于下游集成。

modifierGroups[]

object (OrderModifierGroup)

可选。应用于此商品的 ModifierGroups。

quantity

integer

可选。相应商品在订单中的数量。

totalPrice

object (Money)

仅限输出。相应订单项的总价,包括所选的加项,反映了商品数量,但不含税。用于显示每个商品的购物袋。

categoryIds[]

string

仅限输出。相应菜单项所属的类别 ID。镜像菜单的 Item.category_ids,以便客户端可以按菜单类别对订购的商品进行分组。

OrderModifierGroup

OrderModifierGroup 用于指定属于 OrderItem 的 ModifierGroup 的状态。

JSON 表示法
{
  "modifierGroupId": string,
  "displayName": string,
  "integrationAttributes": {
    object (ModifierGroupIntegrationAttributes)
  },
  "modifiers": [
    {
      object (OrderModifier)
    }
  ]
}
字段
modifierGroupId

string

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

displayName

string

仅限输出。修饰项组名称,例如“配料(三明治)”或“中份套餐的配菜”。

integrationAttributes

object (ModifierGroupIntegrationAttributes)

仅限输出。与此实体关联的元数据,用于下游集成。

modifiers[]

object (OrderModifier)

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

OrderModifier

OrderModifier 用于指定属于 OrderModifierGroup 的 Modifier 的状态。

JSON 表示法
{
  "uid": string,
  "modifierId": string,
  "displayName": string,
  "priceAdjustment": {
    object (Money)
  },
  "quantity": integer,
  "modifierAction": {
    object (OrderModifierAction)
  },
  "image": {
    object (Image)
  },
  "integrationAttributes": {
    object (ModifierIntegrationAttributes)
  },
  "modifierGroups": [
    {
      object (OrderModifierGroup)
    }
  ],
  "isDefault": boolean
}
字段
uid

string

可选。系统为此修饰符分配的唯一标识符。

modifierId

string

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

displayName

string

仅限输出。要在界面上显示的修饰符显示名称。

priceAdjustment

object (Money)

仅限输出。与此修饰符关联的价格调整(如果有)。这是相应修饰符的单价。

quantity

integer

可选。应用此修饰符操作的数量。

modifierAction

object (OrderModifierAction)

可选。应用于相应修饰符的修饰符操作。

image

object (Image)

仅限输出。要在界面中为此修饰符显示的图片。

integrationAttributes

object (ModifierIntegrationAttributes)

仅限输出。与此实体关联的元数据,用于下游集成。

modifierGroups[]

object (OrderModifierGroup)

可选。应用于此修饰符的嵌套修饰符组。

isDefault

boolean

仅限输出。相应修饰符是否是其修饰符组的默认选择。需要此属性,以便客户端可以计算准确的选择差异。

OrderModifierAction

OrderModifierAction 用于指定与已应用的 OrderModifier 关联的 ModifierAction。

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

string

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

OrderMetadata

OrderMetadata 包含在订单期间收集或推断的其他元数据。

JSON 表示法
{
  "collectedCustomerName": string,
  "callerPhoneNumber": string,
  "deliveryAddress": {
    object (DeliveryAddress)
  }
}
字段
collectedCustomerName

string

可选。在接单时收集的客户姓名。仅当代理配置为收集客户姓名时才会填充。此类数据可能通过口头收集,可能包含拼写错误或转写错误,因此在向用户显示时应谨慎处理,并且不应将其视为可信信息(例如支付信息)。

callerPhoneNumber

string

可选。下单客户的手机号码。

deliveryAddress

object (DeliveryAddress)

可选。如果订单是配送订单,则为配送地址。

DeliveryAddress

订单的配送地址。可以是已保存或已收集的现有地址。

JSON 表示法
{
  "address": {
    object (PostalAddress)
  },
  "validationStatus": enum (ValidationStatus),
  "coordinates": {
    object (LatLng)
  }
}
字段
address

object (PostalAddress)

可选。配送地址。

validationStatus

enum (ValidationStatus)

可选。地址的验证状态。

coordinates

object (LatLng)

可选。相应地址的地理坐标。用于验证地址是否在商店的送货范围内。

ValidationStatus

配送地址的验证状态。它由特定于客户端的验证逻辑确定。

枚举
VALIDATION_STATUS_UNSPECIFIED 相应地址尚未通过验证。
VALIDATION_STATUS_VALID 地址有效。
VALIDATION_STATUS_INVALID 地址无效(不存在、无法解析等)
VALIDATION_STATUS_OUT_OF_RANGE 地址存在且已解析,但超出商店的配送范围。
VALIDATION_STATUS_INCOMPLETE_ADDRESS 地址缺少必需字段(缺少门牌号/街道名称、城市、州/省/自治区/直辖市、邮编等)

OrderFulfillment

OrderFulfillment 包含有关订单履单的信息。

JSON 表示法
{
  "fulfillmentMethod": enum (FulfillmentMethod),
  "createTime": string,
  "targetFulfillmentTime": string
}
字段
fulfillmentMethod

enum (FulfillmentMethod)

可选。订单的配送方式。

createTime

string (Timestamp format)

仅限输出。创建订单的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

targetFulfillmentTime

string (Timestamp format)

可选。订单安排的履单时间,用于“提前下单”。如果未提供,则假定订单为“尽快”订单。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

OrderPriceInfo

OrderPriceInfo 封装了订单的各种价格组成部分。

JSON 表示法
{
  "totalPrice": {
    object (Money)
  },
  "subtotalPrice": {
    object (Money)
  },
  "taxPrice": {
    object (Money)
  },
  "discount": {
    object (Money)
  },
  "saving": {
    object (Money)
  },
  "fees": {
    object (Money)
  }
}
字段
totalPrice

object (Money)

可选。应用所有税费和折扣后的最终总价。

subtotalPrice

object (Money)

可选。所有商品和修饰符的小计价格(不含税、折扣)。

taxPrice

object (Money)

可选。订单中应用的税费金额。

discount

object (Money)

可选。应用于订单的总折扣

saving

object (Money)

可选。已将优惠节省金额应用于订单

fees

object (Money)

可选。订单的总费用