Offer

LINT.IfChange(offer_definition) [START offer_definition] Tag berikutnya: 26

Representasi 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
}
Kolom
offerId

string

ID unik penawaran. Wajib.

entityIds[]

string

Daftar penjual yang berpartisipasi dalam penawaran ini.

addOnOfferApplicableToAllEntities

boolean

Jika benar, penawaran ini berlaku untuk semua entity di bawah agregator. Hanya berlaku untuk penawaran add-on.

offerSource

enum (OfferSource)

Penawaran dapat diberikan oleh agregator, penjual perorangan, atau bahkan pihak ketiga sebagai add-on. Wajib.

actionType

enum (ActionType)

Layanan yang memberikan penawaran. Satu offerId hanya dapat dimiliki oleh satu actionType. Jika penawaran dapat dibagikan di beberapa jenis layanan, penawaran duplikat dengan ID unik diharapkan dibuat untuk setiap jenis layanan. Wajib.

offerModes[]

enum (OfferMode)

Metode penawaran yang dapat digunakan - datang langsung, reservasi, online, dll. Wajib diisi.

offerCategory

enum (OfferCategory)

Kategori penawaran. Wajib.

sourceAssignedPriority

integer

Bilangan bulat non-negatif ([1-100], dengan 1 mewakili prioritas tertinggi) yang menunjukkan tingkat prioritas penawaran yang ditetapkan oleh sumber. Jika beberapa penawaran tersedia untuk penjual yang sama, hal ini akan menjadi sinyal untuk menentukan peringkat penawaran. 0 akan menunjukkan bahwa prioritas tidak ditetapkan.

offerDetails

object (OfferDetails)

Detail penawaran seperti diskon, biaya pemesanan, dll. Wajib diisi.

offerRestrictions

object (OfferRestrictions)

Menjelaskan batasan penawaran, yaitu apakah langganan/instrumen pembayaran diperlukan, apakah penawaran ini dapat digabungkan dengan penawaran lain (dan jenisnya), dll. Wajib diisi.

coupon

object (Coupon)

Detail kupon. Wajib untuk offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object (PaymentInstrument)

Detail instrumen pembayaran. Wajib untuk offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object (Subscription)

Detail langganan. Wajib untuk offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Persyaratan dan ketentuan penawaran. Wajib.

validityPeriods[]

object (ValidityPeriod)

Masa berlaku penawaran. Menjelaskan jangka waktu berlakunya penawaran, termasuk waktu mulai dan akhir, hari dalam seminggu, dll. Wajib diisi.

offerUrl

string

URL ke halaman penawaran penjual. Wajib untuk offerCategory: OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

URL ke gambar penawaran penjual.

tags[]

enum (OfferTag)

Tag khusus yang terkait dengan penawaran. Atribut ini digunakan untuk mengidentifikasi penawaran spesial seperti "Festival", "Rating Tertinggi", "Paling banyak dipesan", dll.

brandId

string

Mengidentifikasi merek yang terkait dengan penawaran. Jika tidak ditetapkan, merek default akan digunakan.

OfferDetails

[START offer_details_definition] Next tag: 15

Representasi 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.
}
Kolom
offerDisplayText

string

Teks penawaran yang ingin ditampilkan penyedia penawaran kepada pelanggan di halaman hasil penelusuran. Wajib.

maxDiscountValue

object (Money)

Diskon maksimum yang dapat diperoleh. Misalnya, diskon 10% hingga Rp1.000.000.

minSpendValue

object (Money)

Nilai pembelanjaan minimum untuk mendapatkan diskon. Misalnya, diskon 10% jika total harga adalah $100 atau lebih.

bookingCost

object (Money)

Biaya untuk memesan penawaran ini. Misalnya, diskon $100 dari tagihan akhir saat meja dipesan dengan biaya $15.

bookingCostUnit

enum (FeeUnit)

Satuan biaya pemesanan. Misalnya, per orang, per transaksi.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Apakah biaya pemesanan dapat disesuaikan, yaitu biaya pemesanan dikurangkan dari tagihan akhir. Misalnya: Diskon 30% untuk makan malam dengan reservasi. Biaya untuk melakukan reservasi adalah $15 dan akan diterapkan ke tagihan akhir. Jadi, tagihan akhir: Total Pembelanjaan - 30% - $15

additionalFees[]

object (AdditionalFee)

Biaya tambahan yang ditagihkan kepada pengguna. Contoh: biaya kenyamanan, penanganan, pengiriman, pengemasan, biaya layanan, dll.

giftCardInfo

object (GiftCardInfo)

Detail khusus untuk promo kartu voucher.

Kolom union offer_specification. Diskon dapat berupa persentase atau nilai tetap yang dikurangi dari nilai total. Contoh: 1. Diskon 10% untuk tagihan akhir. 2. Diskon Rp150.000 untuk pesanan. Penjual juga dapat menawarkan diskon kustom seperti 'beli satu gratis satu' melalui kolom spesifikasi yang relevan. Wajib. offer_specification hanya dapat berupa salah satu dari berikut:
discountPercent

number

Persentase tagihan yang didiskon. [0, 100] Untuk penawaran 1+1 atau diskon 50% yang berlaku untuk seluruh makanan (misalnya, prasmanan 1+1, 1+1 untuk seluruh tagihan, 1+1 untuk menu tetap), nilai ini dapat ditetapkan ke 50.

discountValue

object (Money)

Nilai tetap diskon.

otherOfferDetailText

string

Teks bentuk bebas untuk mendeskripsikan diskon. Untuk penawaran 1+1 tertentu (misalnya, 1+1 minuman, +1 hidangan utama, 1+1 item menu tertentu), detail ini harus dijelaskan di sini.

OfferRestrictions

[START offer_restrictions_definition] Next tag: 11

Representasi JSON
{
  "combinableWithOtherOffers": boolean,
  "combinableOfferCategories": [
    enum (OfferCategory)
  ],
  "combinableOfferIds": [
    string
  ],
  "inclusions": [
    {
      object (OfferCondition)
    }
  ],
  "exclusions": [
    {
      object (OfferCondition)
    }
  ],
  "minGuest": integer,
  "foodOfferRestrictions": {
    object (FoodOfferRestrictions)
  },
  "specialConditions": [
    string
  ]
}
Kolom
combinableWithOtherOffers

boolean

Apakah penawaran ini dapat digabungkan dengan penawaran lainnya. Jika benar (true), partner dapat menentukan penawaran yang dapat digabungkan dengan penawaran ini. Jika combinableOfferCategories & combinableOfferIds ditetapkan, penawaran yang cocok dengan salah satu kondisi di atas akan dapat digabungkan.

combinableOfferCategories[]

enum (OfferCategory)

Daftar jenis penawaran yang dapat digabungkan dengan penawaran ini. Misalnya, penawaran ini dapat digabungkan dengan Kupon lainnya. Jika combinableWithOtherOffers benar dan kolom ini tidak disetel, semua jenis akan dapat digabungkan.

combinableOfferIds[]

string

Daftar offer_id yang dapat digabungkan dengan penawaran ini. Beberapa penawaran mungkin hanya dapat digabungkan dengan offer_id tertentu lainnya (dapat dianggap sebagai penawaran induk). Jika combinableWithOtherOffers bernilai benar (true) dan kolom ini tidak disetel, semua ID penawaran akan dapat digabungkan.

inclusions[]

object (OfferCondition)

Daftar kondisi yang harus dipenuhi agar penawaran valid (misalnya, minuman non-alkohol, makanan).

exclusions[]

object (OfferCondition)

Daftar kondisi yang akan membatalkan penawaran (misalnya, prasmanan, penawaran kombo, dan koktail).

minGuest

integer

Jumlah minimum orang yang diperlukan untuk memanfaatkan penawaran.

foodOfferRestrictions

object (FoodOfferRestrictions)

Batasan khusus untuk penawaran makanan.

specialConditions[]

string

Kondisi khusus untuk penawaran ini yang harus ditampilkan kepada pengguna. Contoh: "Hanya berlaku untuk pembayaran di [area]", "Tidak termasuk pembayaran online"

OfferCondition

[START offer_condition_definition]

Representasi JSON
{
  "description": string
}
Kolom
description

string

PaymentInstrument

[START payment_instrument_definition]

Representasi JSON
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Kolom
items[]

object (PaymentInstrumentItem)

Daftar instrumen pembayaran yang dapat digunakan untuk memanfaatkan penawaran. Wajib.

providerName

string

Nama penyedia instrumen pembayaran. Dapat berupa partner perbankan, nama bank, dll. Misalnya: American Express, HDFC, ICICI.

PaymentInstrumentItem

[START payment_instrument_item_definition]

Representasi JSON
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
Kolom
type

enum (PaymentInstrumentType)

Jenis instrumen pembayaran. Wajib.

name

string

Nama item instrumen pembayaran seperti nama kartu kredit. Misalnya: HDFC Infinia, American Express Platinum. Wajib.

Langganan

[START subscription_definition]

Representasi JSON
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Kolom
name

string

Nama langganan. Wajib.

subscriptionAutoAdded

boolean

Apakah langganan otomatis ditambahkan saat pengguna memanfaatkan penawaran ini

cost

object (Money)

Biaya langganan. Wajib.

subscriptionDuration

string (Duration format)

Masa berlaku langganan untuk subscription_cost. Wajib.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

termsAndConditionsUrl

string

URL persyaratan dan ketentuan partner yang relevan dengan langganan ini.

Persyaratan

[START terms_definition]

Representasi JSON
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Kolom
url

string

URL ke persyaratan dan ketentuan partner.

restrictedToCertainUsers

boolean

Apakah penawaran dibatasi untuk pengguna tertentu.

termsAndConditions

string

Teks Persyaratan dan Ketentuan utama yang diberikan oleh partner.

additionalTermsAndConditions[]

string

Persyaratan dan ketentuan selain T&C utama dari partner.