Offer

LINT.IfChange(offer_definition) [START offer_definition] Thẻ tiếp theo: 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 những người bán đang tham gia chương trình ưu đãi này.

addOnOfferApplicableToAllEntities

boolean

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

offerSource

enum (OfferSource)

Một nhà 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 có thể cung cấp ưu đãi dưới dạng một tiện ích bổ sung. Bắt buộc.

actionType

enum (ActionType)

Dịch vụ cung cấp ưu đãi. Mỗi 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 cần tạo các ưu đãi trùng lặp có mã nhận dạng riêng biệ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 mặt hàng 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 có nghĩa là bạn chưa đặt mức độ ưu tiên.

offerDetails

object (OfferDetails)

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

offerRestrictions

object (OfferRestrictions)

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

coupon

object (Coupon)

Thông tin chi tiết về 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)

Thời hạ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 cả thời gian bắt đầu và 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 sản phẩm của người bán.

tags[]

enum (OfferTag)

Các thẻ đặc biệt liên kết với ưu đãi. Thuộc tính này được 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

Bắt buộc đối với các ưu đãi Thẻ quà tặng để xác định thương hiệu cung cấp ưu đãi.

OfferDetails

[START offer_details_definition] Thẻ tiếp theo: 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 mà bạn có thể nhận được. Ví dụ: giảm giá 10% tối đa 1.000.000 VND.

minSpendValue

object (Money)

Giá trị chi tiêu tối thiểu để được hưởng chiết khấu. Ví dụ: Giảm 10% khi tổng giá trị đơn hàng từ 1.000.000 VND trở lên.

bookingCost

object (Money)

Chi phí để đặt ưu đãi này. Ví dụ: giảm 1.000.000 VND cho hoá đơn cuối cùng khi đặt bàn với giá 150.000 VND.

bookingCostUnit

enum (FeeUnit)

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

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

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

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 cho một đơn đặt hàng. Người bán cũng có thể cung cấp chiết khấu tuỳ chỉnh như "mua một tặng một" thông qua các trường thông số kỹ thuật 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 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 dạng tự do để mô tả chiết khấu. Đối với các ưu đãi 1+1 cụ thể (ví dụ: 1+1 đồ uống, +1 món chính, 1+1 món ăn chọn lọc), bạn nên mô tả những thông tin chi tiết này tại đây.

OfferRestrictions

[START offer_restrictions_definition] Thẻ tiếp theo: 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

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

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 không đặt trường này, thì tất cả các loại đều 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ể được coi là ưu đãi chính). Nếu combinableWithOtherOffers là true và bạn chưa đặt trường này, thì tất cả mã ưu đãi đều có thể kết hợp.

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, thực phẩm).

exclusions[]

object (OfferCondition)

Danh sách các điều kiện khiến ư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 thiết để sử dụng ưu đãi.

foodOfferRestrictions

object (FoodOfferRestrictions)

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

specialConditions[]

string

Các điều kiện đặc biệt của ưu đãi này mà người dùng phải nhìn thấy. Ví dụ: "Chỉ có hiệu lực đối với việc thanh toán ở [khu vực]", "Không áp dụng cho 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 để tận hưở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

Liệu 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)

Chi phí của gói thuê bao. Bắt buộc.

subscriptionDuration

string (Duration format)

Thời hạn hiệu lực 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, kết thúc bằng "s". Ví dụ: "3.5s".

termsAndConditionsUrl

string

URL dẫn đến các đ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

Ư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 chính về Điều khoản và điều kiện 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.