LineItem

Одна позиция содержит одну вертикаль. Заказ или корзина могут содержать несколько позиций одной тематики. Подстроки/дополнения и т. д. должны быть определены в вертикальных прототипах в зависимости от вариантов их использования. Примечание. 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 )

Поставщик конкретной позиции, если он отличается от общего заказа. Пример: заказ Expedia с поставщиком позиций ANA.

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

Идентификатор продукта или предложения, связанный с этой позицией.

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 )

Подробности о товаре.

ТорговецЕдиницаМера

Мера ценообразования торговой единицы.

JSON-представление
{
  "measure": number,
  "unit": enum (Unit)
}
Поля
measure

number

Значение: Пример 1.2.

unit

enum ( Unit )

Единица: Пример ФУНТ, ГРАММ.

Опция элемента

Представляет надстройки или подэлементы.

JSON-представление
{
  "id": string,
  "name": string,
  "prices": [
    {
      object (PriceAttribute)
    }
  ],
  "note": string,
  "quantity": integer,
  "productId": string,
  "subOptions": [
    {
      object (ItemOption)
    }
  ]
}
Поля
id

string

Для опций, являющихся элементами, уникальный идентификатор элемента.

name

string

Название опции.

prices[]

object ( PriceAttribute )

Общая стоимость опциона.

note

string

Примечание, связанное с опцией.

quantity

integer

Для опций, которые являются позициями, укажите количество.

productId

string

Идентификатор продукта или предложения, связанный с этой опцией.

subOptions[]

object ( ItemOption )

Чтобы определить другие вложенные дополнительные параметры.

Информация о продукте

Подробности о товаре.

JSON-представление
{
  "productId": string,
  "gtin": string,
  "plu": string,
  "productType": string,
  "productAttributes": {
    string: string,
    ...
  }
}
Поля
productId

string

Идентификатор продукта или предложения, связанный с этой позицией.

gtin

string

Глобальный торговый номер продукта. Полезно, если OfferId отсутствует в Merchant Center. Необязательный.

plu

string

Коды поиска цен, обычно называемые кодами PLU, номерами PLU, PLU, кодами продукции или этикетками продукции, представляют собой систему номеров, которая однозначно идентифицирует оптовые продукты, продаваемые в продуктовых магазинах и супермаркетах.

productType

string

Категория товара определяется продавцом. Например, «Домой > Бакалея > Молочные продукты и яйца > Молоко > Цельное молоко»

productAttributes

map (key: string, value: string)

Подробная информация о товаре, предоставленная продавцом, например { "аллерген": "арахис" }. Полезно, если OfferId отсутствует в Merchant Center. Необязательный.

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

Расширение резервированияитемекстенсион

Содержимое позиции для заказов на бронирование, таких как ресторан, стрижка и т. д. Следующий идентификатор: 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" } .

ПерсоналФасилитатор

Информация об обслуживающем лице.

JSON-представление
{
  "name": string,
  "image": {
    object (Image)
  }
}
Поля
name

string

Имя координатора. Бывший. "Джон Смит"

image

object ( Image )

Образы исполнителя.