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)

表演者的图片。