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

ID 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. Ne s'applique qu'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, vous devez créer des offres en double avec des ID uniques pour chaque type de service. Obligatoire.

offerModes[]

enum (OfferMode)

Méthodes pour profiter de l'offre : en magasin, sur 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 le même marchand, cela constitue un signal pour le classement des offres. 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 ou un instrument 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)

Détails d'un mode 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)

Tags spéciaux associés à l'offre. Il permet d'identifier les offres spéciales telles que "Fêtes", "Meilleures notes", "Les plus réservés", etc.

brandId

string

Obligatoire pour les offres de cartes cadeaux afin d'identifier la marque qui propose l'offre.

OfferDetails

[START offer_details_definition] Next tag: 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 souhaite afficher aux 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)

Coût de la réservation de cette offre. Par exemple, 100 $ de remise sur l'addition finale lorsqu'une table est réservée au prix de 15 $.

bookingCostUnit

enum (FeeUnit)

Unité du coût de la réservation. Par exemple, par personne et 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. Par 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. La facture finale sera donc : Total dépensé - 30 % - 15 $

additionalFees[]

object (AdditionalFee)

Frais supplémentaires facturés à l'utilisateur. Exemples : frais de commodité, de traitement, 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 exprimée en pourcentage ou en 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 remise sur la facture. [0, 100] Pour les offres 1+1 ou 50 % de réduction applicables à l'ensemble du repas (par exemple, buffet 1+1, 1+1 sur l'ensemble de l'addition, 1+1 sur le menu), cette valeur peut être définie sur 50.

discountValue

object (Money)

Valeur fixe de la remise.

otherOfferDetailText

string

Texte libre pour décrire la remise. Pour les offres spécifiques "1+1" (par exemple, 1+1 boissons, +1 plat principal, 1+1 éléments de menu sélectionnés), 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. Si la valeur est "true", les partenaires peuvent spécifier les offres avec lesquelles cette offre peut être combinée. Si les deux attributs combinableOfferCategories et combinableOfferIds sont définis, toute offre correspondant à l'une des conditions ci-dessus sera combinable.

combinableOfferCategories[]

enum (OfferCategory)

Liste des types d'offres avec lesquels cette offre peut être combiné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 combinées qu'avec certains autres offer_ids spécifiques (qui peuvent être considérés comme des offres parentes). Si la valeur de combinableWithOtherOffers est "true" et que ce champ n'est pas défini, tous les ID d'offres seront combinables.

inclusions[]

object (OfferCondition)

Liste des conditions à remplir pour que l'offre soit valable (par exemple, boissons non alcoolisées, 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 restauration.

specialConditions[]

string

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

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 instruments de paiement pouvant être utilisés pour profiter 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 l'instrument de paiement. Obligatoire.

name

string

Nom de l'élément du mode de paiement, comme le nom de la carte de crédit. Par exemple : 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 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 principal des conditions d'utilisation fournies par le partenaire.

additionalTermsAndConditions[]

string

Conditions d'utilisation supplémentaires à celles principales du partenaire.