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

特典の一意の ID。必須。

entityIds[]

string

この特典に参加している販売者のリスト。

addOnOfferApplicableToAllEntities

boolean

true の場合、この特典はアグリゲータのすべてのエンティティに適用されます。アドオン特典にのみ適用されます。

offerSource

enum (OfferSource)

特典は、アグリゲータ、個々の販売者、またはサードパーティがアドオンとして提供できます。必須。

actionType

enum (ActionType)

特典を提供しているサービス。offerId は 1 つの actionType にのみ属することができます。複数のサービスタイプで共有できる特典の場合、サービスタイプごとに一意の ID を持つ特典の複製が作成されることが想定されます。必須。

offerModes[]

enum (OfferMode)

特典を利用できる方法(来店、予約、オンラインなど)。必須。

offerCategory

enum (OfferCategory)

オファーのカテゴリ。必須。

sourceAssignedPriority

integer

ソースによって割り当てられたオファーの優先度レベルを示す負でない整数([1 ~ 100]、1 は最優先)。同じ販売者に複数の特典が用意されている場合、これは特典のランキング付けのシグナルとなります。0 は優先度が設定されていないことを表します。

offerDetails

object (OfferDetails)

割引、予約費用など、特典の詳細。必須。

offerRestrictions

object (OfferRestrictions)

特典の制限について説明します。たとえば、定期購入や支払い方法が必要かどうか、この特典を他の特典と併用できるかどうか(できる場合はどのような特典と併用できるか)などです。必須。

coupon

object (Coupon)

クーポンの詳細。offerCategory: 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

ギフトカードの特典で、特典を提供するブランドを特定するために必要です。

OfferDetails

[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, 000 円以上の場合は 10% 割引など。

bookingCost

object (Money)

この特典の予約費用。たとえば、テーブルを $15 で予約すると、最終請求額から $100 割引されます。

bookingCostUnit

enum (FeeUnit)

予約費用の単位。(1 人あたり、1 回の取引あたりなど)。

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

予約料金が調整可能かどうか(予約料金が最終請求額から差し引かれるかどうか)。例: 予約でディナーが 30% オフ。予約料金は $15 で、最終請求額に適用されます。したがって、最終的な請求額は「合計費用 - 30% - $15」となります。

additionalFees[]

object (AdditionalFee)

ユーザーに請求される追加料金。例: 利便性、手数料、配送、梱包、サービス料金など。

giftCardInfo

object (GiftCardInfo)

ギフトカードの特典に固有の詳細。

共用体フィールド offer_specification。割引は、総額から差し引かれる割合または固定値にすることができます。例: 1. 最終請求額が 10% オフになります。2. ご注文金額から $15 オフ。販売者は、関連する仕様フィールドで「1 つ買うと 1 つ無料」などのカスタム割引を提供することもできます。必須。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 選択メニューなど)については、ここに詳細を記載する必要があります。

OfferRestrictions

[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_id のリスト。一部の特典は、特定の他の offer_id(親特典とみなすことができます)とのみ組み合わせることができます。combinableWithOtherOffers が true で、このフィールドが設定されていない場合、すべての特典 ID を組み合わせることができます。

inclusions[]

object (OfferCondition)

特典が有効になるための条件のリスト(例: ノンアルコール飲料、食品)。

exclusions[]

object (OfferCondition)

特典が無効になる条件のリスト(例: ビュッフェ、セットメニュー、カクテル)。

minGuest

integer

特典を利用するために必要な最小人数。

foodOfferRestrictions

object (FoodOfferRestrictions)

食品特典に固有の制限。

specialConditions[]

string

ユーザーに表示する必要がある、この特典の特別な条件。例: 「[地域] でのお支払いにのみ有効」、「オンライン決済は対象外」

OfferCondition

[START offer_condition_definition]

JSON 表現
{
  "description": string
}
フィールド
description

string

PaymentInstrument

[START payment_instrument_definition]

JSON 表現
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
フィールド
items[]

object (PaymentInstrumentItem)

特典を利用するために使用できる支払い方法のリスト。必須。

providerName

string

支払い方法のプロバイダの名前。銀行パートナー、銀行名など。例: American Express、HDFC、ICICI。

PaymentInstrumentItem

[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)

subscription_cost で定期購入が有効になる期間。必須。

s で終わる小数 9 桁までの秒単位の期間。例: "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

パートナーの主な利用規約に加えて適用される利用規約。