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] แท็กถัดไป: 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% เมื่อราคารวมเท่ากับ 1, 000 บาทขึ้นไป

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] แท็กถัดไป: 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 ที่ข้อเสนอนี้ใช้ร่วมได้ ข้อเสนอบางรายการอาจใช้ร่วมกับ other_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

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