Offer

LINT.IfChange(offer_definition) [START offer_definition] Следующий тег: 26

JSON-представление
{
  "offerId": string,
  "entityIds": [
    string
  ],
  "addOnOfferApplicableToAllEntities": boolean,
  "offerSource": enum (OfferSource),
  "actionType": enum (ActionType),
  "offerModes": [
    enum (OfferMode)
  ],
  "offerCategory": enum (OfferCategory),
  "sourceAssignedPriority": integer,
  "offerDetails": {
    object (OfferDetails)
  },
  "offerRestrictions": {
    object (OfferRestrictions)
  },
  "coupon": {
    object (Coupon)
  },
  "paymentInstrument": {
    object (PaymentInstrument)
  },
  "subscription": {
    object (Subscription)
  },
  "terms": {
    object (Terms)
  },
  "validityPeriods": [
    {
      object (ValidityPeriod)
    }
  ],
  "offerUrl": string,
  "imageUrl": string,
  "tags": [
    enum (OfferTag)
  ],
  "brandId": string
}
Поля
offerId

string

Уникальный идентификатор предложения. Обязательно.

entityIds[]

string

Список продавцов, участвующих в этой акции.

addOnOfferApplicableToAllEntities

boolean

Если это правда, то данное предложение распространяется на все организации, входящие в состав агрегатора. Действует только для дополнительных предложений.

offerSource

enum ( OfferSource )

Предложение может быть предоставлено агрегатором, отдельным продавцом или даже третьей стороной в качестве дополнительной услуги. Обязательно.

actionType

enum ( ActionType )

Сервис, предоставляющий предложение. Идентификатор предложения (offerId) может принадлежать только одному типу действия (actionType). Если предложение может использоваться несколькими типами сервисов, то для каждого типа сервиса будут созданы дубликаты предложений с уникальными идентификаторами. Обязательно.

offerModes[]

enum ( OfferMode )

Способы получения предложения: лично, по предварительной записи, онлайн и т.д. Обязательно.

offerCategory

enum ( OfferCategory )

Категория предложения. Обязательно.

sourceAssignedPriority

integer

Неотрицательное целое число ([1-100], где 1 обозначает наивысший приоритет), указывающее уровень приоритета предложения, присвоенный источником. Если для одного и того же продавца доступно несколько предложений, это будет сигналом для ранжирования предложений. 0 означает, что приоритет не установлен.

offerDetails

object ( OfferDetails )

Подробности предложения, такие как скидка, стоимость бронирования и т. д., обязательны.

offerRestrictions

object ( OfferRestrictions )

Описывает ограничения предложения, например, требуется ли подписка/оплата, можно ли комбинировать это предложение с другими предложениями (и какие именно) и т. д. Обязательно.

coupon

object ( Coupon )

Подробная информация о купоне. Обязательно для категории предложения: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object ( PaymentInstrument )

Детали платежного инструмента. Обязательно для offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object ( Subscription )

Детали подписки. Обязательно для offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object ( Terms )

Условия предложения. Обязательно.

validityPeriods[]

object ( ValidityPeriod )

Срок действия предложения. Указывается период действия предложения, включая время начала и окончания, дни недели и т. д. Обязательно.

offerUrl

string

URL страницы предложения продавца. Обязательно для параметра offerCategory: OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

URL-адрес изображения предложения продавца.

tags[]

enum ( OfferTag )

Специальные теги, связанные с предложением. Они используются для обозначения специальных предложений, таких как «Праздничное», «Самое популярное», «Наиболее часто бронируемое» и т. д.

brandId

string

Этот параметр необходим для идентификации бренда, предлагающего подарочные карты.

Подробности предложения

[START offer_details_definition] Следующий тег: 15

JSON-представление
{
  "offerDisplayText": string,
  "maxDiscountValue": {
    object (Money)
  },
  "minSpendValue": {
    object (Money)
  },
  "bookingCost": {
    object (Money)
  },
  "bookingCostUnit": enum (FeeUnit),
  "convenienceFee": {
    object (Fee)
  },
  "bookingCostAdjustable": boolean,
  "additionalFees": [
    {
      object (AdditionalFee)
    }
  ],
  "giftCardInfo": {
    object (GiftCardInfo)
  },

  // Union field offer_specification can be only one of the following:
  "discountPercent": number,
  "discountValue": {
    object (Money)
  },
  "otherOfferDetailText": string
  // End of list of possible types for union field offer_specification.
}
Поля
offerDisplayText

string

Текст предложения, который поставщик предложения хочет отобразить клиентам на странице результатов поиска. Обязательно.

maxDiscountValue

object ( Money )

Максимальная скидка, которую можно получить. Например, 10% скидка до 100 долларов.

minSpendValue

object ( Money )

Минимальная сумма покупки для получения скидки. Например, скидка 10% предоставляется при общей сумме покупки в 100 долларов и более.

bookingCost

object ( Money )

Стоимость бронирования по этому предложению. Например, скидка в 100 долларов на окончательный счет при бронировании столика за 15 долларов.

bookingCostUnit

enum ( FeeUnit )

Единица измерения стоимости бронирования. Например, за человека, за транзакцию.

convenienceFee

object ( Fee )

bookingCostAdjustable

boolean

Возможность корректировки стоимости бронирования, то есть вычитание стоимости бронирования из окончательного счета. Например: скидка 30% на ужин при бронировании. Стоимость бронирования 15 долларов, и скидка будет применена к окончательному счету. Таким образом, окончательный счет: Общая сумма расходов - 30% - 15 долларов

additionalFees[]

object ( AdditionalFee )

Дополнительные сборы, взимаемые с пользователя. Примеры: плата за удобство, обработку заказа, доставку, упаковку, сервисный сбор и т. д.

giftCardInfo

object ( GiftCardInfo )

Подробная информация касается именно предложений по подарочным картам.

Поле offer_specification . Скидка может быть в процентах или представлять собой фиксированную сумму, вычитаемую из общей стоимости. Например: 1. Скидка 10% на окончательный счет. 2. Скидка 15 долларов на заказ. Продавцы также могут предлагать индивидуальные скидки, такие как «купи один — получи второй бесплатно», через соответствующие поля спецификации. Обязательно. offer_specification может принимать только одно из следующих значений:
discountPercent

number

Процент от суммы счета, на который распространяется скидка. [0, 100] Для предложений «1+1» или «50% скидка», которые распространяются на весь обед (например, «1+1 шведский стол», «1+1 на весь счет», «1+1 на комплексное меню»), это значение можно установить равным 50.

discountValue

object ( Money )

Фиксированная сумма скидки.

otherOfferDetailText

string

Текст в свободной форме для описания скидки. Для конкретных предложений «1+1» (например, 1+1 напиток, +1 основное блюдо, 1+1 выбранное блюдо из меню) эти подробности следует указать здесь.

Ограничения предложения

[START offer_restrictions_definition] Следующий тег: 11

JSON-представление
{
  "combinableWithOtherOffers": boolean,
  "combinableOfferCategories": [
    enum (OfferCategory)
  ],
  "combinableOfferIds": [
    string
  ],
  "inclusions": [
    {
      object (OfferCondition)
    }
  ],
  "exclusions": [
    {
      object (OfferCondition)
    }
  ],
  "minGuest": integer,
  "foodOfferRestrictions": {
    object (FoodOfferRestrictions)
  },
  "specialConditions": [
    string
  ]
}
Поля
combinableWithOtherOffers

boolean

Можно ли комбинировать это предложение с другими предложениями. Если значение равно true, партнеры могут указать, с какими предложениями это предложение можно комбинировать. Если заданы параметры combinableOfferCategories и combinableOfferIds, то любое предложение, соответствующее одному из вышеуказанных условий, будет допускать комбинирование.

combinableOfferCategories[]

enum ( OfferCategory )

Список типов предложений, с которыми это предложение может быть объединено. Например, это предложение может быть объединено с другими купонами. Если combinableWithOtherOffers имеет значение true и это поле не задано, все типы предложений будут объединены.

combinableOfferIds[]

string

Список offer_ids, с которыми это предложение может быть объединено. Некоторые предложения могут быть объединены только с определенными другими offer_ids (их можно считать родительскими предложениями). Если combinableWithOtherOffers имеет значение true и это поле не задано, все offer_ids будут доступны для объединения.

inclusions[]

object ( OfferCondition )

Список условий, которые должны быть соблюдены для того, чтобы предложение было действительным (например, безалкогольные напитки, еда).

exclusions[]

object ( OfferCondition )

Список условий, при которых предложение становится недействительным (например, шведский стол, комплексные обеды и коктейли).

minGuest

integer

Минимальное количество человек, необходимое для получения предложения.

foodOfferRestrictions

object ( FoodOfferRestrictions )

Ограничения, касающиеся предложений продуктов питания.

specialConditions[]

string

Особые условия данного предложения, которые необходимо показать пользователю. Примеры: «Действительно только при оплате в [регионе]», «Не распространяется на онлайн-платежи».

Условия предложения

[START offer_condition_definition]

JSON-представление
{
  "description": string
}
Поля
description

string

Платежный инструмент

[START payment_instrument_definition]

JSON-представление
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Поля
items[]

object ( PaymentInstrumentItem )

Список платежных инструментов, которые можно использовать для получения предложения. Обязательно.

providerName

string

Название поставщика платежного инструмента. Это может быть банковский партнер, название банка и т. д. Например: American Express, HDFC, ICICI.

Платежный инструмент

[START payment_instrument_item_definition]

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

enum ( PaymentInstrumentType )

Тип платежного инструмента. Обязательно.

name

string

Название платежного инструмента, например, название кредитной карты. Например: HDFC Infinia, American Express Platinum. Обязательно.

Подписка

[START subscription_definition]

JSON-представление
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Поля
name

string

Название подписки. Обязательно.

subscriptionAutoAdded

boolean

Будет ли подписка автоматически добавлена ​​при использовании пользователем этого предложения?

cost

object ( Money )

Стоимость подписки. Обязательно.

subscriptionDuration

string ( Duration format)

Укажите срок действия подписки по указанной стоимости подписки. Обязательно к заполнению.

Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « s ». Пример: "3.5s" .

termsAndConditionsUrl

string

URL-адрес условий и положений партнера, относящихся к данной подписке.

Условия

[START terms_definition]

JSON-представление
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Поля
url

string

URL-адрес условий и положений партнера.

restrictedToCertainUsers

boolean

Доступно ли данное предложение только определенным пользователям?

termsAndConditions

string

Основной текст условий и положений предоставлен партнером.

additionalTermsAndConditions[]

string

Условия и положения дополняют основные условия и положения партнера.