Offer

LINT.IfChange(offer_definition) [START offer_definition] Next tag: 26

Biểu diễn dưới dạng 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
}
Trường
offerId

string

Mã nhận dạng duy nhất của ưu đãi. Bắt buộc.

entityIds[]

string

Danh sách người bán đang tham gia chương trình ưu đãi này.

addOnOfferApplicableToAllEntities

boolean

Nếu đúng, ưu đãi này sẽ áp dụng cho tất cả các pháp nhân thuộc đơn vị tổng hợp. Chỉ áp dụng cho ưu đãi bổ sung.

offerSource

enum (OfferSource)

Ưu đãi có thể do đơn vị tổng hợp, một người bán riêng lẻ hoặc thậm chí là một bên thứ ba cung cấp dưới dạng dịch vụ bổ sung. Bắt buộc.

actionType

enum (ActionType)

Dịch vụ cung cấp ưu đãi. Một offerId chỉ có thể thuộc về một actionType. Nếu một ưu đãi có thể được chia sẻ trên nhiều loại dịch vụ, thì bạn nên tạo các ưu đãi trùng lặp có mã nhận dạng duy nhất cho từng loại dịch vụ. Bắt buộc.

offerModes[]

enum (OfferMode)

Các phương thức mà bạn có thể sử dụng ưu đãi – đến trực tiếp, đặt chỗ, trực tuyến, v.v. Bắt buộc.

offerCategory

enum (OfferCategory)

Danh mục của ưu đãi. Bắt buộc.

sourceAssignedPriority

integer

Số nguyên không âm ([1-100], trong đó 1 là mức độ ưu tiên cao nhất) cho biết mức độ ưu tiên của sản phẩm do nguồn chỉ định. Khi có nhiều mặt hàng của cùng một người bán, đây sẽ là một tín hiệu để xếp hạng mặt hàng. 0 cho biết mức độ ưu tiên chưa được đặt.

offerDetails

object (OfferDetails)

Thông tin chi tiết về ưu đãi, chẳng hạn như chiết khấu, chi phí đặt phòng, v.v. Bắt buộc.

offerRestrictions

object (OfferRestrictions)

Mô tả cách hạn chế ưu đãi, tức là có cần gói thuê bao/phương thức thanh toán hay không, có thể kết hợp ưu đãi này với các ưu đãi khác (và loại nào) hay không, v.v. Bắt buộc.

coupon

object (Coupon)

Thông tin chi tiết về một phiếu giảm giá. Bắt buộc đối với offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object (PaymentInstrument)

Thông tin chi tiết về một phương thức thanh toán. Bắt buộc đối với offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object (Subscription)

Thông tin chi tiết về một gói thuê bao. Bắt buộc đối với offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Điều khoản và điều kiện của ưu đãi. Bắt buộc.

validityPeriods[]

object (ValidityPeriod)

Giai đoạn hiệu lực của ưu đãi. Mô tả khoảng thời gian mà ưu đãi có hiệu lực, bao gồm thời gian bắt đầu và thời gian kết thúc, ngày trong tuần, v.v. Bắt buộc.

offerUrl

string

URL đến trang ưu đãi của người bán. Bắt buộc đối với offerCategory: OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

URL đến hình ảnh của mặt hàng mà người bán cung cấp.

tags[]

enum (OfferTag)

Thẻ đặc biệt liên kết với ưu đãi. Thuộc tính này dùng để xác định các ưu đãi đặc biệt như "Lễ hội", "Được đánh giá cao nhất", "Được đặt nhiều nhất", v.v.

brandId

string

Xác định thương hiệu liên kết với mặt hàng. Nếu bạn không đặt, hệ thống sẽ sử dụng thương hiệu mặc định.

OfferDetails

[START offer_details_definition] Next tag: 15

Biểu diễn dưới dạng 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.
}
Trường
offerDisplayText

string

Văn bản ưu đãi mà nhà cung cấp ưu đãi muốn hiển thị cho khách hàng trên trang kết quả tìm kiếm. Bắt buộc.

maxDiscountValue

object (Money)

Mức chiết khấu tối đa có thể được hưởng. Ví dụ: giảm giá 10% lên đến 100 USD.

minSpendValue

object (Money)

Mức chi tiêu tối thiểu để được hưởng chiết khấu. Ví dụ: giảm 10% khi tổng giá là 100 USD trở lên.

bookingCost

object (Money)

Chi phí để đặt ưu đãi này. Ví dụ: giảm 100 USD trên hoá đơn cuối cùng khi đặt bàn với giá 15 USD.

bookingCostUnit

enum (FeeUnit)

Đơn vị của chi phí đặt trước. Ví dụ: mỗi người, mỗi giao dịch.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Liệu chi phí đặt trước có thể điều chỉnh được hay không, tức là chi phí đặt trước được trừ vào hoá đơn cuối cùng. Ví dụ: Giảm 30% cho bữa tối khi đặt chỗ trước. Phí đặt chỗ là 15 USD và sẽ được tính vào hoá đơn cuối cùng. Do đó, hoá đơn cuối cùng: Tổng số tiền đã chi tiêu – 30% – 15 đô la

additionalFees[]

object (AdditionalFee)

Các khoản phí bổ sung mà người dùng phải trả. Ví dụ: phí tiện lợi, phí xử lý, phí giao hàng, phí đóng gói, phí dịch vụ, v.v.

giftCardInfo

object (GiftCardInfo)

Thông tin chi tiết dành riêng cho ưu đãi thẻ quà tặng.

Trường nhóm offer_specification. Chiết khấu có thể là tỷ lệ phần trăm hoặc giá trị cố định được trừ vào tổng giá trị. Ví dụ: 1. Giảm 10% cho hoá đơn cuối cùng. 2. Giảm 15 đô la Mỹ cho một đơn đặt hàng. Người bán cũng có thể cung cấp các khoản chiết khấu tuỳ chỉnh như "mua một tặng một" thông qua các trường quy cách có liên quan. Bắt buộc. offer_specification chỉ có thể là một trong những trạng thái sau:
discountPercent

number

Tỷ lệ phần trăm hoá đơn được chiết khấu. [0, 100] Đối với ưu đãi 1 tặng 1 hoặc giảm giá 50% áp dụng cho toàn bộ bữa ăn (ví dụ: ưu đãi 1 tặng 1 cho bữa ăn tự chọn, ưu đãi 1 tặng 1 cho toàn bộ hoá đơn, ưu đãi 1 tặng 1 cho thực đơn cố định), bạn có thể đặt giá trị này thành 50.

discountValue

object (Money)

Giá trị cố định của chiết khấu.

otherOfferDetailText

string

Văn bản tự do để mô tả chiết khấu. Đối với các ưu đãi mua 1 tặng 1 cụ thể (ví dụ: mua 1 tặng 1 đồ uống, mua 1 tặng 1 món chính, mua 1 tặng 1 món trong thực đơn được chọn), bạn nên mô tả những thông tin này tại đây.

OfferRestrictions

[START offer_restrictions_definition] Next tag: 11

Biểu diễn dưới dạng JSON
{
  "combinableWithOtherOffers": boolean,
  "combinableOfferCategories": [
    enum (OfferCategory)
  ],
  "combinableOfferIds": [
    string
  ],
  "inclusions": [
    {
      object (OfferCondition)
    }
  ],
  "exclusions": [
    {
      object (OfferCondition)
    }
  ],
  "minGuest": integer,
  "foodOfferRestrictions": {
    object (FoodOfferRestrictions)
  },
  "specialConditions": [
    string
  ]
}
Trường
combinableWithOtherOffers

boolean

Liệu ưu đãi này có thể kết hợp với các ưu đãi khác hay không. Khi giá trị là true, đối tác có thể chỉ định những ưu đãi có thể kết hợp với ưu đãi này. Nếu bạn đặt cả combinableOfferCategories và combinableOfferIds, thì mọi ưu đãi khớp với một trong các điều kiện nêu trên đều có thể kết hợp được.

combinableOfferCategories[]

enum (OfferCategory)

Danh sách các loại mặt hàng mà bạn có thể kết hợp với mặt hàng này. Ví dụ: ưu đãi này có thể kết hợp với các Phiếu giảm giá khác. Nếu combinableWithOtherOffers là true và bạn chưa đặt trường này, thì tất cả các loại sẽ có thể kết hợp.

combinableOfferIds[]

string

Danh sách offer_id mà ưu đãi này có thể kết hợp. Một số ưu đãi chỉ có thể kết hợp với một số offer_id cụ thể khác (có thể coi là ưu đãi chính). Nếu combinableWithOtherOffers là true và trường này không được đặt, thì tất cả mã ưu đãi đều có thể kết hợp được.

inclusions[]

object (OfferCondition)

Danh sách các điều kiện phải đáp ứng để ưu đãi có hiệu lực (ví dụ: đồ uống không cồn, đồ ăn).

exclusions[]

object (OfferCondition)

Danh sách các điều kiện sẽ làm cho ưu đãi không hợp lệ (ví dụ: buffet, ưu đãi kết hợp và cocktail).

minGuest

integer

Số người tối thiểu cần có để sử dụng ưu đãi.

foodOfferRestrictions

object (FoodOfferRestrictions)

Các quy định hạn chế dành riêng cho mặt hàng thực phẩm.

specialConditions[]

string

Điều kiện đặc biệt cho ưu đãi này mà bạn phải cho người dùng thấy. Ví dụ: "Chỉ có hiệu lực khi thanh toán ở [khu vực]", "Không áp dụng cho các khoản thanh toán trực tuyến"

OfferCondition

[START offer_condition_definition]

Biểu diễn dưới dạng JSON
{
  "description": string
}
Trường
description

string

PaymentInstrument

[START payment_instrument_definition]

Biểu diễn dưới dạng JSON
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Trường
items[]

object (PaymentInstrumentItem)

Danh sách các phương thức thanh toán có thể dùng để sử dụng ưu đãi. Bắt buộc.

providerName

string

Tên của nhà cung cấp phương thức thanh toán. Có thể là đối tác ngân hàng, tên ngân hàng, v.v. Ví dụ: American Express, HDFC, ICICI.

PaymentInstrumentItem

[START payment_instrument_item_definition]

Biểu diễn dưới dạng JSON
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
Trường
type

enum (PaymentInstrumentType)

Loại phương thức thanh toán. Bắt buộc.

name

string

Tên của mục phương thức thanh toán, chẳng hạn như tên của thẻ tín dụng. Ví dụ: HDFC Infinia, American Express Platinum. Bắt buộc.

Gói đăng ký

[START subscription_definition]

Biểu diễn dưới dạng JSON
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Trường
name

string

Tên của gói thuê bao. Bắt buộc.

subscriptionAutoAdded

boolean

Gói thuê bao có được tự động thêm khi người dùng sử dụng ưu đãi này hay không

cost

object (Money)

Phí thuê bao. Bắt buộc.

subscriptionDuration

string (Duration format)

Thời hạn của gói thuê bao tại subscription_cost. Bắt buộc.

Thời lượng tính bằng giây, có tối đa 9 chữ số thập phân và kết thúc bằng "s". Ví dụ: "3.5s".

termsAndConditionsUrl

string

URL đến điều khoản và điều kiện của đối tác liên quan đến gói thuê bao này.

Điều khoản

[START terms_definition]

Biểu diễn dưới dạng JSON
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Trường
url

string

URL dẫn đến điều khoản và điều kiện của đối tác.

restrictedToCertainUsers

boolean

Liệu ưu đãi có bị giới hạn cho một số người dùng nhất định hay không.

termsAndConditions

string

Văn bản điều khoản và điều kiện chính do đối tác cung cấp.

additionalTermsAndConditions[]

string

Điều khoản và điều kiện bổ sung cho điều khoản và điều kiện chính của đối tác.