LineItem

一个订单项包含一个行业。一个订单或购物车可以包含多个属于同一行业的订单项。子订单项/插件等应根据其用例在纵向 proto 中定义。注意:1.除非另有规定,否则所有级别的所有字符串都必须少于 1000 个字符。2. 除非另有规定,否则所有级别的所有重复字段数量都必须少于 50。3. 所有级别的所有时间戳(如果指定)都必须是有效的时间戳。

JSON 表示法
{
  "id": string,
  "name": string,
  "userVisibleStateLabel": string,
  "provider": {
    object (Merchant)
  },
  "priceAttributes": [
    {
      object (PriceAttribute)
    }
  ],
  "followUpActions": [
    {
      object (Action)
    }
  ],
  "recipients": [
    {
      object (UserInfo)
    }
  ],
  "image": {
    object (Image)
  },
  "description": string,
  "notes": [
    string
  ],
  "disclosures": [
    {
      object (Disclosure)
    }
  ],
  "vertical": {
    "@type": string,
    field1: ...,
    ...
  },

  // Union field verticals can be only one of the following:
  "purchase": {
    object (PurchaseItemExtension)
  },
  "reservation": {
    object (ReservationItemExtension)
  }
  // End of list of possible types for union field verticals.
}
字段
id

string

必需:商家为订单项分配的标识符。用于在应用部分更新时识别现有订单项。允许的长度上限为 64 个字符。

name

string

收据上显示的订单项名称。允许的长度上限为 100 个字符。

userVisibleStateLabel
(deprecated)

string

已弃用。请改用垂直水平状态。例如,对于购买交易,请使用 PurchaseOrderExtension.status。用户可见的此订单项状态标签。

provider

object (Merchant)

特定订单项的提供商(如果与整个订单不同)。示例:订单项提供商 ANA 的 Expedia 订单。

priceAttributes[]

object (PriceAttribute)

订单项级价格和调整项。

followUpActions[]

object (Action)

跟踪订单项中的后续操作。

recipients[]

object (UserInfo)

订单项级客户,可能与订单级买方不同。示例:用户 X 以用户 Y 的名义预订了餐厅。

image

object (Image)

与此内容相关的小图片(如果有)。

description

string

订单项说明。

notes[]

string

适用于此特定订单项的附加说明,例如取消政策。

disclosures[]

object (Disclosure)

与此订单项相关的信息。

vertical
(deprecated)

object

已弃用:请改用行业。必需:根据类型/行业划分的订单项的语义内容。每个类别都应包含自己的履单详情。必须是以下值之一:google.actions.orders.v3.verticals.purchase.PurchaseItemExtension google.actions.orders.v3.verticals.reservation.ReservationItemExtension google.actions.orders.v3.verticals.ticket.TicketItemExtension

此对象可以包含任意类型的字段。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

联合字段 verticals。必需:根据类型/行业划分的订单项的语义内容。每个类别都应包含自己的履单详情。verticals 只能是下列其中一项:
purchase

object (PurchaseItemExtension)

采购订单,如商品、食品等

reservation

object (ReservationItemExtension)

餐馆、理发等预订订单

PurchaseItemExtension

购买行业的订单项内容。

JSON 表示法
{
  "status": enum (PurchaseStatus),
  "userVisibleStatusLabel": string,
  "type": enum (PurchaseType),
  "productId": string,
  "quantity": integer,
  "unitMeasure": {
    object (MerchantUnitMeasure)
  },
  "returnsInfo": {
    object (PurchaseReturnsInfo)
  },
  "fulfillmentInfo": {
    object (PurchaseFulfillmentInfo)
  },
  "itemOptions": [
    {
      object (ItemOption)
    }
  ],
  "extension": {
    "@type": string,
    field1: ...,
    ...
  },
  "productDetails": {
    object (ProductDetails)
  }
}
字段
status

enum (PurchaseStatus)

必需:订单项级状态。

userVisibleStatusLabel

string

必需:状态的用户可见标签/字符串。允许的长度上限为 50 个字符。

type

enum (PurchaseType)

必填:购买交易的类型。

productId
(deprecated)

string

与此订单项关联的产品或优惠 ID。

quantity

integer

商品的数量。

unitMeasure

object (MerchantUnitMeasure)

单位度量。用于指定商品的尺寸(以所选单位为单位)。尺寸和有效价格共同用于确定单价。

returnsInfo

object (PurchaseReturnsInfo)

返回此订单项的信息。如果未设置,此订单项将沿用订单级返回的信息。

fulfillmentInfo

object (PurchaseFulfillmentInfo)

此订单项的履单信息。如果未设置,此订单项将沿用订单级履单信息。

itemOptions[]

object (ItemOption)

其他插件或子作品。

extension

object

商家与 Google 之间交换的任何额外字段。

此对象可以包含任意类型的字段。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

productDetails

object (ProductDetails)

商品的详细信息。

MerchantUnitMeasure

商家价格计量单位。

JSON 表示法
{
  "measure": number,
  "unit": enum (Unit)
}
字段
measure

number

值:示例 1.2。

unit

enum (Unit)

单位:例如 POUND, GRAM。

ItemOption

表示插件或子项。

JSON 表示法
{
  "id": string,
  "name": string,
  "prices": [
    {
      object (PriceAttribute)
    }
  ],
  "note": string,
  "quantity": integer,
  "productId": string,
  "subOptions": [
    {
      object (ItemOption)
    }
  ]
}
字段
id

string

对于属于商品的选项,应提供唯一商品 ID。

name

string

选项名称。

prices[]

object (PriceAttribute)

选项总价。

note

string

与选项相关的备注。

quantity

integer

对于作为商品的选项,则指定数量。

productId

string

与此选项关联的产品或优惠 ID。

subOptions[]

object (ItemOption)

定义其他嵌套子选项。

ProductDetails

商品的详细信息。

JSON 表示法
{
  "productId": string,
  "gtin": string,
  "plu": string,
  "productType": string,
  "productAttributes": {
    string: string,
    ...
  }
}
字段
productId

string

与此订单项关联的产品或优惠 ID。

gtin

string

商品的全球贸易项目代码。如果 Merchant Center 中不存在 offerId,此对象会很有用。可选。

plu

string

价格查询代码(通常称为 PLU 代码、PLU 编号、PLU、农产品代码或农产品标签)是一个数字体系,用于唯一地标识杂货店和超市出售的批发产品。

productType

string

商家定义的商品类别。例如:“首页 >杂货 >乳制品和鸡蛋 >牛奶 >全脂牛奶”

productAttributes

map (key: string, value: string)

商家提供的商品详细信息,例如{ "allergen": "peanut"}。如果 Merchant Center 中不存在 offerId,此对象会很有用。可选。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

ReservationItemExtension

餐馆、理发等预订订单的订单项内容。下一个 ID:15。

JSON 表示法
{
  "status": enum (ReservationStatus),
  "userVisibleStatusLabel": string,
  "type": enum (ReservationType),
  "reservationTime": {
    object (Time)
  },
  "userAcceptableTimeRange": {
    object (Time)
  },
  "confirmationCode": string,
  "partySize": integer,
  "staffFacilitators": [
    {
      object (StaffFacilitator)
    }
  ],
  "location": {
    object (Location)
  },
  "extension": {
    "@type": string,
    field1: ...,
    ...
  }
}
字段
status

enum (ReservationStatus)

必需:预留状态。

userVisibleStatusLabel

string

必需:状态的用户可见标签/字符串。允许的长度上限为 50 个字符。

type

enum (ReservationType)

预留类型如果所有类型选项均不适用,则可以未设置。

reservationTime

object (Time)

服务/事件的预定发生时间。可以是时间范围、日期或确切日期和时间。

userAcceptableTimeRange

object (Time)

用户可接受的时间范围。

confirmationCode

string

此预订的确认码。

partySize

integer

人数。

staffFacilitators[]

object (StaffFacilitator)

将负责为预订提供服务的教员。例如:发型师

location

object (Location)

服务/事件的位置。

extension

object

商家与 Google 之间交换的任何额外字段。

此对象可以包含任意类型的字段。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

StaffFacilitator

服务人员的相关信息。

JSON 表示法
{
  "name": string,
  "image": {
    object (Image)
  }
}
字段
name

string

教职员的姓名。例如:“张三”

image

object (Image)

表演者的图片。