Offer

LINT.IfChange(offer_definition) [START offer_definition] Next tag: 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)

รายละเอียดของคูปอง ต้องระบุสำหรับ 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] Next tag: 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% สูงสุด 3, 000 บาท

minSpendValue

object (Money)

มูลค่าการใช้จ่ายขั้นต่ำเพื่อรับส่วนลด เช่น รับส่วนลด 10% เมื่อราคารวมเป็น $100 ขึ้นไป

bookingCost

object (Money)

ค่าใช้จ่ายในการจองข้อเสนอนี้ เช่น ส่วนลด 3, 000 บาทจากยอดรวมเมื่อจองโต๊ะในราคา 450 บาท

bookingCostUnit

enum (FeeUnit)

หน่วยของค่าใช้จ่ายในการจอง เช่น ต่อคน ต่อธุรกรรม

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

ค่าใช้จ่ายในการจองปรับได้หรือไม่ เช่น ค่าใช้จ่ายในการจองจะถูกหักออกจากใบเรียกเก็บเงินสุดท้าย ตัวอย่าง: ลด 30% สำหรับอาหารค่ำเมื่อจองล่วงหน้า ค่าใช้จ่ายในการจองคือ $15 และจะนำไปใช้กับการเรียกเก็บเงินขั้นสุดท้าย ดังนั้นค่าใช้จ่ายสุดท้ายคือ ค่าใช้จ่ายทั้งหมด - 30% - $15

additionalFees[]

object (AdditionalFee)

ค่าธรรมเนียมเพิ่มเติมที่เรียกเก็บจากผู้ใช้ ตัวอย่าง: ค่าอำนวยความสะดวก ค่าดำเนินการ ค่าจัดส่ง ค่าบรรจุภัณฑ์ ค่าบริการ ฯลฯ

giftCardInfo

object (GiftCardInfo)

รายละเอียดสำหรับดีลบัตรของขวัญโดยเฉพาะ

ฟิลด์ Union 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] Next tag: 11

การแสดง JSON
{
  "combinableWithOtherOffers": boolean,
  "combinableOfferCategories": [
    enum (OfferCategory)
  ],
  "combinableOfferIds": [
    string
  ],
  "inclusions": [
    {
      object (OfferCondition)
    }
  ],
  "exclusions": [
    {
      object (OfferCondition)
    }
  ],
  "minGuest": integer,
  "foodOfferRestrictions": {
    object (FoodOfferRestrictions)
  },
  "specialConditions": [
    string
  ]
}
ช่อง
combinableWithOtherOffers

boolean

ข้อเสนอนี้ใช้ร่วมกับข้อเสนออื่นๆ ได้หรือไม่ เมื่อเป็นจริง พาร์ทเนอร์จะระบุได้ว่าข้อเสนอนี้ใช้ร่วมกับข้อเสนอใดได้ หากตั้งค่าทั้ง combinableOfferCategories และ combinableOfferIds ข้อเสนอที่ตรงกับเงื่อนไขข้อใดข้อหนึ่งข้างต้นจะรวมกันได้

combinableOfferCategories[]

enum (OfferCategory)

รายการประเภทข้อเสนอที่ใช้ร่วมกับข้อเสนอนี้ได้ เช่น ข้อเสนอนี้อาจใช้ร่วมกับคูปองอื่นๆ ได้ หาก combinableWithOtherOffers เป็นจริงและไม่ได้ตั้งค่าช่องนี้ไว้ ระบบจะรวมข้อเสนอทุกประเภทได้

combinableOfferIds[]

string

รายการ offer_id ที่ใช้ร่วมกับข้อเสนอนี้ได้ ข้อเสนอบางรายการอาจใช้ร่วมกับข้อเสนออื่นๆ ที่มี offer_id ที่เฉพาะเจาะจงเท่านั้น (ถือเป็นข้อเสนอหลักได้) หาก combinableWithOtherOffers เป็นจริงและไม่ได้ตั้งค่าฟิลด์นี้ ระบบจะรวมรหัสข้อเสนอทั้งหมดได้

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 ต้องระบุ

ระยะเวลาเป็นวินาทีที่มีเศษทศนิยมได้สูงสุด 9 หลัก โดยลงท้ายด้วย "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

ข้อกำหนดและเงื่อนไขเพิ่มเติมจากข้อกำหนดและเงื่อนไขหลักของพาร์ทเนอร์