- JSON representation
- OfferDetails
- OfferRestrictions
- OfferCondition
- PaymentInstrument
- PaymentInstrumentItem
- Subscription
- Terms
LINT.IfChange(offer_definition) [START offer_definition] Next tag: 26
| JSON representation |
|---|
{ "offerId": string, "entityIds": [ string ], "addOnOfferApplicableToAllEntities": boolean, "offerSource": enum ( |
| Fields | |
|---|---|
offerId |
Unique ID of the offer. Required. |
entityIds[] |
List of merchants who are participating in this offer. |
addOnOfferApplicableToAllEntities |
If true, this offer is applicable to all entities under the aggregator. Only applicable for add on offers. |
offerSource |
An offer can be provided by the aggregator, an individual merchant, or even a third party as an add on. Required. |
actionType |
The service that is providing the offer. An offerId can belong to only one actionType. If an offer can be shared across multiple service types then duplicate offers with unique Ids are expected to be created for each service type. Required. |
offerModes[] |
The methods the offer can be availed - walk in, reservation, online, etc. Required. |
offerCategory |
The category of the offer. Required. |
sourceAssignedPriority |
Non-negative integer ([1-100], where 1 represents the highest priority) indicating the priority level of the offer assigned by the source. When multiple offers are available for the same merchant, this will be a signal for ranking offers. 0 would represent that the priority is not set. |
offerDetails |
Details of the offer such as the discount, booking cost, etc. Required. |
offerRestrictions |
Describes how the offer is restricted i.e. whether a subscription/payment instrument is required, whether this offer can be combined with other offers (and what types), etc. Required. |
coupon |
Details of a coupon. Required for offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER. |
paymentInstrument |
Details of a payment instrument. Required for offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER. |
subscription |
Details of a subscription. Required for offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER. |
terms |
Terms and conditions of the offer. Required. |
validityPeriods[] |
The validity period of the offer. Describes what time period the offer is valid for including start and end times, days of the week, etc. Required. |
offerUrl |
URL to the merchant's offer page. Required for offerCategory: OFFER_CATEGORY_BASE_OFFER. |
imageUrl |
URL to the merchant’s offer image. |
tags[] |
Special tags associated with the offer. This is used to identify special offers like "Festive", "Top Rated", "Most booked", etc. |
brandId |
Required for Gift Card deals to identify the brand offering the deal. |
OfferDetails
[START offer_details_definition] Next tag: 15
| JSON representation |
|---|
{ "offerDisplayText": string, "maxDiscountValue": { object ( |
| Fields | |
|---|---|
offerDisplayText |
The offer text the offer provider wants to display to customers on the search results page. Required. |
maxDiscountValue |
The maximum discount that can be availed. For example, 10% off up to $100. |
minSpendValue |
The minimum spend value to avail the discount. For example, 10% off when the total price is $100 or more. |
bookingCost |
The cost to book this offer. For example, $100 off the final bill when a table is reserved at the cost of $15. |
bookingCostUnit |
The unit of the booking cost. For example, per person, per transaction. |
convenienceFee |
|
bookingCostAdjustable |
Whether the booking cost is adjustable i.e. the booking cost is subtracted from the final bill. For example: 30% off dinner with reservation. Cost to reserve $15 and it will be applied to the final bill. Hence final bill: Total Spent - 30% - $15 |
additionalFees[] |
Additional fees that are charged to the user. Examples: convenience, handling, delivery, packaging, service fee etc. |
giftCardInfo |
Details specifically for gift card deals. |
Union field offer_specification. The discount can be a percentage or a fixed value subtracted from the total value. For example: 1. 10% off the final bill. 2. $15 off an order. Merchants can also offer custom discounts such as ‘buy one get one free’ through the relevant specification fields. Required. offer_specification can be only one of the following: |
|
discountPercent |
Percentage of the bill that is discounted. [0, 100] For 1+1 or 50% off offers that are applicable to the whole meal (e.g. 1+1 buffet, 1+1 on entire bill, 1+1 on set menu), this value can be set to 50. |
discountValue |
Fixed value of the discount. |
otherOfferDetailText |
Free-form text to describe the discount. For specific 1+1 offers (e.g. 1+1 drinks, +1 main course, 1+1 selected menu items), these details should be described here. |
OfferRestrictions
[START offer_restrictions_definition] Next tag: 11
| JSON representation |
|---|
{ "combinableWithOtherOffers": boolean, "combinableOfferCategories": [ enum ( |
| Fields | |
|---|---|
combinableWithOtherOffers |
Whether this offer can be combined with other offers. When true, partners can specify what offers this offer can be combined with. If both combinableOfferCategories & combinableOfferIds are set then any offer matching one of the conditions above will be combinable. |
combinableOfferCategories[] |
List of offer types that this offer can be combined with. For example, this offer may be combinable with other Coupons. If combinableWithOtherOffers is true and this field is unset all types will be combinable. |
combinableOfferIds[] |
List of offer_ids that this offer can be combined with. Some offers may only be combined with certain specific other offer_ids (can be considered parent offers). If combinableWithOtherOffers is true and this field is unset all offer ids will be combinable. |
inclusions[] |
List of conditions that must be met for the offer to be valid (e.g., non-alcoholic drinks, food). |
exclusions[] |
List of conditions that would invalidate the offer (e.g., buffet, combo offers, and cocktails ). |
minGuest |
The minimum number of people required to avail the offer. |
foodOfferRestrictions |
Restrictions specific to food offers. |
specialConditions[] |
Special conditions for this offer that must be shown to the user. Examples: "Only valid for payment in [area]", "Excludes online payments" |
OfferCondition
[START offer_condition_definition]
| JSON representation |
|---|
{ "description": string } |
| Fields | |
|---|---|
description |
|
PaymentInstrument
[START payment_instrument_definition]
| JSON representation |
|---|
{
"items": [
{
object ( |
| Fields | |
|---|---|
items[] |
List of payment instruments that can be used to avail the offer. Required. |
providerName |
Name of the payment instrument provider. Could be a banking partner, name of a bank, etc. For example: American Express, HDFC, ICICI. |
PaymentInstrumentItem
[START payment_instrument_item_definition]
| JSON representation |
|---|
{
"type": enum ( |
| Fields | |
|---|---|
type |
Type of the payment instrument. Required. |
name |
Name of the payment instrument item like the name of the credit card. For example: HDFC Infinia, American Express Platinum. Required. |
Subscription
[START subscription_definition]
| JSON representation |
|---|
{
"name": string,
"subscriptionAutoAdded": boolean,
"cost": {
object ( |
| Fields | |
|---|---|
name |
The name of the subscription. Required. |
subscriptionAutoAdded |
Whether the subscription is auto added when a user avails this offer |
cost |
The cost of the subscription. Required. |
subscriptionDuration |
How long the subscription is valid for at the subscription_cost. Required. A duration in seconds with up to nine fractional digits, ending with ' |
termsAndConditionsUrl |
URL to the partner's terms and conditions relevant to this subscription. |
Terms
[START terms_definition]
| JSON representation |
|---|
{ "url": string, "restrictedToCertainUsers": boolean, "termsAndConditions": string, "additionalTermsAndConditions": [ string ] } |
| Fields | |
|---|---|
url |
URL to the partner's terms and conditions. |
restrictedToCertainUsers |
Whether the offer is restricted to certain users. |
termsAndConditions |
Primary T&C text provided by the partner. |
additionalTermsAndConditions[] |
Terms and conditions in addition to the primary T&C from the partner. |