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 entitas 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 menyediakan penawaran. 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 yang dapat digunakan untuk mendapatkan penawaran - 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 memberi peringkat penawaran. 0 menunjukkan bahwa prioritas tidak ditetapkan.

offerDetails

object (OfferDetails)

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

offerRestrictions

object (OfferRestrictions)

Mendeskripsikan cara penawaran dibatasi, yaitu apakah langganan/instrumen pembayaran diperlukan, apakah penawaran ini dapat digabungkan dengan penawaran lain (dan jenisnya), dll. Wajib.

coupon

object (Coupon)

Detail kupon. Diperlukan 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. Diperlukan untuk offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Persyaratan dan ketentuan penawaran. Wajib.

validityPeriods[]

object (ValidityPeriod)

Periode validitas penawaran. Mendeskripsikan jangka waktu berlakunya penawaran, termasuk waktu mulai dan berakhir, 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. Ini digunakan untuk mengidentifikasi penawaran khusus seperti "Festive", "Top Rated", "Most booked", dll.

brandId

string

Wajib diisi untuk promo Kartu Voucher guna mengidentifikasi merek yang menawarkan promo.

OfferDetails

[START offer_details_definition] Tag berikutnya: 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 Rp1.000.000 atau lebih.

bookingCost

object (Money)

Biaya untuk memesan penawaran ini. Misalnya, diskon Rp1.000.000 untuk tagihan akhir saat meja dipesan dengan biaya Rp150.000.

bookingCostUnit

enum (FeeUnit)

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

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Apakah biaya pemesanan dapat disesuaikan, yaitu biaya pemesanan dikurangi 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 yang Dibelanjakan - 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] Tag berikutnya: 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 bernilai benar (true) dan kolom ini tidak disetel, semua jenis akan dapat digabungkan.

combinableOfferIds[]

string

Daftar offer_id yang dapat digabungkan dengan penawaran ini. Beberapa penawaran 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 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 alat 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 alat 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 ditambahkan secara otomatis saat pengguna memanfaatkan penawaran ini

cost

object (Money)

Biaya langganan. Wajib.

subscriptionDuration

string (Duration format)

Durasi masa berlaku langganan dengan subscription_cost. Wajib.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang 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 persyaratan dan ketentuan partner.

restrictedToCertainUsers

boolean

Apakah penawaran dibatasi untuk pengguna tertentu.

termsAndConditions

string

Teks Syarat dan Ketentuan utama yang disediakan oleh partner.

additionalTermsAndConditions[]

string

Persyaratan dan ketentuan selain T&K utama dari partner.