Offer

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

Représentation 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
}
Champs
offerId

string

Identifiant unique de l'offre. Obligatoire.

entityIds[]

string

Liste des marchands participant à cette offre.

addOnOfferApplicableToAllEntities

boolean

Si la valeur est "true", cette offre s'applique à toutes les entités de l'agrégateur. Uniquement applicable aux offres de modules complémentaires.

offerSource

enum (OfferSource)

Une offre peut être proposée par l'agrégateur, un marchand individuel ou même un tiers en tant que module complémentaire. Obligatoire.

actionType

enum (ActionType)

Service qui propose l'offre. Un offerId ne peut appartenir qu'à un seul actionType. Si une offre peut être partagée entre plusieurs types de services, des offres en double avec des identifiants uniques doivent être créées pour chaque type de service. Obligatoire.

offerModes[]

enum (OfferMode)

Méthodes pour profiter de l'offre : sans réservation, avec réservation, en ligne, etc. Obligatoire.

offerCategory

enum (OfferCategory)

Catégorie de l'offre. Obligatoire.

sourceAssignedPriority

integer

Entier non négatif ([1-100], où 1 représente la priorité la plus élevée) indiquant le niveau de priorité de l'offre attribué par la source. Lorsque plusieurs offres sont disponibles pour un même marchand, cela sert de signal pour classer les offres. La valeur 0 indique que la priorité n'est pas définie.

offerDetails

object (OfferDetails)

Détails de l'offre, tels que la remise, le coût de la réservation, etc. (obligatoire).

offerRestrictions

object (OfferRestrictions)

Décrit les restrictions de l'offre, par exemple si un abonnement/mode de paiement est requis, si cette offre peut être combinée avec d'autres offres (et de quels types), etc. Obligatoire.

coupon

object (Coupon)

Informations sur un bon de réduction. Obligatoire pour offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object (PaymentInstrument)

Informations sur un moyen de paiement. Obligatoire pour offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object (Subscription)

Détails d'un abonnement. Obligatoire pour offerCategory : OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Conditions d'utilisation de l'offre. Obligatoire.

validityPeriods[]

object (ValidityPeriod)

Période de validité de l'offre. Décrivez la période de validité de l'offre, y compris les heures de début et de fin, les jours de la semaine, etc. Obligatoire.

offerUrl

string

URL de la page de l'offre du marchand. Obligatoire pour offerCategory : OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

URL de l'image de l'offre du marchand.

tags[]

enum (OfferTag)

Balises spéciales associées à l'offre. Il permet d'identifier les offres spéciales telles que "Festive", "Top Rated", "Most booked", etc.

brandId

string

Identifie la marque associée à l'offre. Si aucune valeur n'est définie, la marque par défaut est utilisée.

OfferDetails

[START offer_details_definition] Tag suivant : 15

Représentation 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.
}
Champs
offerDisplayText

string

Texte de l'offre que le fournisseur de l'offre souhaite afficher pour les clients sur la page de résultats de recherche. Obligatoire.

maxDiscountValue

object (Money)

Remise maximale dont vous pouvez bénéficier. Par exemple, 10% de remise jusqu'à 100 €.

minSpendValue

object (Money)

Valeur minimale des dépenses pour bénéficier de la remise. Par exemple, 10% de remise lorsque le prix total est de 100 $ ou plus.

bookingCost

object (Money)

Le coût de la réservation de cette offre. Par exemple, une remise de 100 € sur l'addition finale lorsqu'une table est réservée pour 15 €.

bookingCostUnit

enum (FeeUnit)

Unité du coût de réservation. Par exemple, par personne, par transaction.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Indique si le coût de la réservation est ajustable, c'est-à-dire s'il est déduit de la facture finale. Exemple : 30% de remise sur le dîner avec réservation. Le coût de la réservation est de 15 $, qui seront déduits de la facture finale. Facture finale : total dépensé - 30% - 15 $

additionalFees[]

object (AdditionalFee)

Frais supplémentaires facturés à l'utilisateur. Exemples : frais de commodité, de manutention, de livraison, d'emballage, de service, etc.

giftCardInfo

object (GiftCardInfo)

Détails spécifiques aux offres de cartes cadeaux.

Champ d'union offer_specification. La remise peut être un pourcentage ou une valeur fixe soustraite de la valeur totale. Par exemple : 1. 10% de remise sur la facture finale. 2. 15 $ de remise sur une commande. Les marchands peuvent également proposer des remises personnalisées, comme "deux pour le prix d'un", dans les champs de spécification correspondants. Obligatoire. offer_specification ne peut être qu'un des éléments suivants :
discountPercent

number

Pourcentage de la facture bénéficiant d'une remise. [0, 100] Pour les offres "1 acheté, 1 inclus" ou "50% de remise" applicables à l'ensemble du repas (par exemple, buffet "1 acheté, 1 inclus", "1 acheté, 1 inclus" sur l'ensemble de l'addition, "1 acheté, 1 inclus" sur le menu), cette valeur peut être définie sur 50.

discountValue

object (Money)

Valeur fixe de la remise.

otherOfferDetailText

string

Texte libre décrivant la remise. Pour les offres spécifiques de type "1+1" (par exemple, 1 boisson achetée = 1 boisson incluse, 1 plat principal acheté = 1 plat principal inclus, 1+1 sur certains éléments du menu), ces détails doivent être décrits ici.

OfferRestrictions

[START offer_restrictions_definition] Next tag: 11

Représentation JSON
{
  "combinableWithOtherOffers": boolean,
  "combinableOfferCategories": [
    enum (OfferCategory)
  ],
  "combinableOfferIds": [
    string
  ],
  "inclusions": [
    {
      object (OfferCondition)
    }
  ],
  "exclusions": [
    {
      object (OfferCondition)
    }
  ],
  "minGuest": integer,
  "foodOfferRestrictions": {
    object (FoodOfferRestrictions)
  },
  "specialConditions": [
    string
  ]
}
Champs
combinableWithOtherOffers

boolean

Indique si cette offre est cumulable avec d'autres offres. Si la valeur est "true", les partenaires peuvent spécifier les offres avec lesquelles cette offre peut être cumulée. Si les deux champs combinableOfferCategories et combinableOfferIds sont définis, toute offre correspondant à l'une des conditions ci-dessus pourra être combinée.

combinableOfferCategories[]

enum (OfferCategory)

Liste des types d'offres avec lesquels cette offre peut être cumulée. Par exemple, cette offre peut être cumulable avec d'autres bons de réduction. Si "combinableWithOtherOffers" est défini sur "true" et que ce champ n'est pas défini, tous les types seront combinables.

combinableOfferIds[]

string

Liste des offer_ids avec lesquels cette offre peut être combinée. Certaines offres ne peuvent être cumulées qu'avec d'autres ID d'offre spécifiques (qui peuvent être considérés comme des offres parentes). Si combinableWithOtherOffers est défini sur "true" et que ce champ n'est pas défini, tous les ID d'offre seront combinables.

inclusions[]

object (OfferCondition)

Liste des conditions à remplir pour que l'offre soit valide (par exemple, boissons sans alcool, nourriture).

exclusions[]

object (OfferCondition)

Liste des conditions qui invalideraient l'offre (par exemple, buffet, offres combinées et cocktails).

minGuest

integer

Nombre minimal de personnes requis pour profiter de l'offre.

foodOfferRestrictions

object (FoodOfferRestrictions)

Restrictions spécifiques aux offres de produits alimentaires.

specialConditions[]

string

Conditions spéciales de cette offre qui doivent être présentées à l'utilisateur. Exemples : "Valable uniquement pour les paiements dans [région]", "Paiements en ligne exclus"

OfferCondition

[START offer_condition_definition]

Représentation JSON
{
  "description": string
}
Champs
description

string

PaymentInstrument

[START payment_instrument_definition]

Représentation JSON
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Champs
items[]

object (PaymentInstrumentItem)

Liste des modes de paiement pouvant être utilisés pour bénéficier de l'offre. Obligatoire.

providerName

string

Nom du fournisseur du mode de paiement. Il peut s'agir d'un partenaire bancaire, du nom d'une banque, etc. Par exemple : American Express, HDFC, ICICI.

PaymentInstrumentItem

[START payment_instrument_item_definition]

Représentation JSON
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
Champs
type

enum (PaymentInstrumentType)

Type de mode de paiement. Obligatoire.

name

string

Nom du mode de paiement, par exemple le nom de la carte de crédit. Exemples : HDFC Infinia, American Express Platinum. Obligatoire.

Abonnement

[START subscription_definition]

Représentation JSON
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Champs
name

string

Nom de l'abonnement. Obligatoire.

subscriptionAutoAdded

boolean

Indique si l'abonnement est ajouté automatiquement lorsqu'un utilisateur profite de cette offre.

cost

object (Money)

Coût de l'abonnement. Obligatoire.

subscriptionDuration

string (Duration format)

Durée de validité de l'abonnement au prix indiqué par l'attribut subscription_cost. Obligatoire.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

termsAndConditionsUrl

string

URL des conditions d'utilisation du partenaire concernant cet abonnement.

Conditions d'utilisation

[START terms_definition]

Représentation JSON
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Champs
url

string

URL des conditions d'utilisation du partenaire.

restrictedToCertainUsers

boolean

Indique si l'offre est réservée à certains utilisateurs.

termsAndConditions

string

Texte des conditions d'utilisation principales fourni par le partenaire.

additionalTermsAndConditions[]

string

Conditions d'utilisation en plus des conditions d'utilisation principales du partenaire.