Offer

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

Rappresentazione 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
}
Campi
offerId

string

ID univoco dell'offerta. Obbligatorio.

entityIds[]

string

Elenco dei commercianti che partecipano a questa offerta.

addOnOfferApplicableToAllEntities

boolean

Se è vero, questa offerta è applicabile a tutte le entità dell'aggregatore. Valido solo per le offerte di componenti aggiuntivi.

offerSource

enum (OfferSource)

Un'offerta può essere fornita dall'aggregatore, da un singolo commerciante o anche da una terza parte come componente aggiuntivo. Obbligatorio.

actionType

enum (ActionType)

Il servizio che fornisce l'offerta. Un offerId può appartenere a un solo actionType. Se un'offerta può essere condivisa tra più tipi di servizio, è previsto che vengano create offerte duplicate con ID univoci per ogni tipo di servizio. Obbligatorio.

offerModes[]

enum (OfferMode)

I metodi con cui è possibile usufruire dell'offerta: senza prenotazione, con prenotazione, online e così via. Obbligatorio.

offerCategory

enum (OfferCategory)

La categoria dell'offerta. Obbligatorio.

sourceAssignedPriority

integer

Numero intero non negativo ([1-100], dove 1 rappresenta la priorità più alta) che indica il livello di priorità dell'offerta assegnato dall'origine. Quando sono disponibili più offerte per lo stesso commerciante, questo sarà un indicatore per il ranking delle offerte. 0 indica che la priorità non è impostata.

offerDetails

object (OfferDetails)

Dettagli dell'offerta, come lo sconto, il costo della prenotazione e così via. Obbligatorio.

offerRestrictions

object (OfferRestrictions)

Descrive le limitazioni dell'offerta, ad esempio se è richiesto un abbonamento/strumento di pagamento, se questa offerta può essere combinata con altre offerte (e di quali tipi) e così via. Obbligatorio.

coupon

object (Coupon)

Dettagli di un coupon. Obbligatorio per offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object (PaymentInstrument)

Dettagli di uno strumento di pagamento. Obbligatorio per offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object (Subscription)

Dettagli di un abbonamento. Obbligatorio per offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Termini e condizioni dell'offerta. Obbligatorio.

validityPeriods[]

object (ValidityPeriod)

Il periodo di validità dell'offerta. Descrive il periodo di tempo per cui è valida l'offerta, inclusi ora di inizio e di fine, giorni della settimana e così via. Obbligatorio.

offerUrl

string

URL della pagina dell'offerta del commerciante. Obbligatorio per offerCategory: OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

URL dell'immagine dell'offerta del commerciante.

tags[]

enum (OfferTag)

Tag speciali associati all'offerta. Viene utilizzato per identificare offerte speciali come "Festive", "Top Rated", "Most booked" e così via.

brandId

string

Obbligatorio per i deal sulle carte regalo per identificare il brand che offre il deal.

OfferDetails

[START offer_details_definition] Tag successivo: 15

Rappresentazione 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.
}
Campi
offerDisplayText

string

Il testo dell'offerta che il fornitore dell'offerta vuole mostrare ai clienti nella pagina dei risultati di ricerca. Obbligatorio.

maxDiscountValue

object (Money)

Lo sconto massimo di cui è possibile usufruire. Ad esempio, sconto del 10% fino a 100 €.

minSpendValue

object (Money)

Il valore spesa minima per usufruire dello sconto. Ad esempio, 10% di sconto se il prezzo totale è pari o superiore a 100 $.

bookingCost

object (Money)

Il costo per prenotare questa offerta. Ad esempio, 100 $ di sconto sul conto finale quando un tavolo viene prenotato al costo di 15 $.

bookingCostUnit

enum (FeeUnit)

L'unità di misura del costo della prenotazione. Ad esempio, per persona, per transazione.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Se il costo della prenotazione è modificabile, ovvero se viene sottratto dalla fattura finale. Ad esempio: 30% di sconto sulla cena con prenotazione. Costo di prenotazione di 15 $, che verrà applicato alla fattura finale. Quindi, la fattura finale è: Spesa totale - 30% - 15 $

additionalFees[]

object (AdditionalFee)

Tariffe aggiuntive addebitate all'utente. Esempi: convenienza, gestione, consegna, imballaggio, commissione di servizio e così via.

giftCardInfo

object (GiftCardInfo)

Dettagli specifici per le offerte sulle carte regalo.

Campo unione offer_specification. Lo sconto può essere una percentuale o un valore fisso sottratto dal valore totale. Ad esempio: 1. 10% di sconto sulla fattura finale. 2. 15 $ di sconto su un ordine. I commercianti possono anche offrire sconti personalizzati come "Prendi due, paghi uno" tramite i campi delle specifiche pertinenti. Obbligatorio. offer_specification può essere solo uno dei seguenti tipi:
discountPercent

number

Percentuale della fattura scontata. [0, 100] Per le offerte 1+1 o con sconto del 50% applicabili all'intero pasto (ad es. buffet 1+1, 1+1 sull'intero conto, 1+1 sul menu fisso), questo valore può essere impostato su 50.

discountValue

object (Money)

Valore fisso dello sconto.

otherOfferDetailText

string

Testo in formato libero per descrivere lo sconto. Per le offerte 1+1 specifiche (ad es. 1+1 bevande, +1 piatto principale, 1+1 voci di menu selezionate), questi dettagli devono essere descritti qui.

OfferRestrictions

[START offer_restrictions_definition] Tag successivo: 11

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

boolean

Se questa offerta può essere combinata con altre offerte. Se il valore è true, i partner possono specificare con quali offerte può essere combinata questa offerta. Se sono impostati sia combinableOfferCategories sia combinableOfferIds, qualsiasi offerta che soddisfi una delle condizioni sopra indicate sarà combinabile.

combinableOfferCategories[]

enum (OfferCategory)

Elenco dei tipi di offerta con cui è possibile combinare questa offerta. Ad esempio, questa offerta potrebbe essere cumulabile con altri coupon. Se combinableWithOtherOffers è true e questo campo non è impostato, tutti i tipi saranno combinabili.

combinableOfferIds[]

string

Elenco degli offer_id con cui è possibile combinare questa offerta. Alcune offerte possono essere combinate solo con determinati altri offer_id specifici (possono essere considerate offerte principali). Se combinableWithOtherOffers è true e questo campo non è impostato, tutti gli ID offerta saranno combinabili.

inclusions[]

object (OfferCondition)

Elenco delle condizioni che devono essere soddisfatte affinché l'offerta sia valida (ad es. bevande analcoliche, cibo).

exclusions[]

object (OfferCondition)

Elenco delle condizioni che invaliderebbero l'offerta (ad es. buffet, offerte combinate e cocktail).

minGuest

integer

Il numero minimo di persone richiesto per usufruire dell'offerta.

foodOfferRestrictions

object (FoodOfferRestrictions)

Limitazioni specifiche per le offerte di cibo.

specialConditions[]

string

Condizioni speciali per questa offerta che devono essere mostrate all'utente. Esempi: "Valido solo per il pagamento in [area]", "Esclusi i pagamenti online"

OfferCondition

[START offer_condition_definition]

Rappresentazione JSON
{
  "description": string
}
Campi
description

string

PaymentInstrument

[START payment_instrument_definition]

Rappresentazione JSON
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Campi
items[]

object (PaymentInstrumentItem)

Elenco degli strumenti di pagamento che possono essere utilizzati per usufruire dell'offerta. Obbligatorio.

providerName

string

Nome del fornitore dello strumento di pagamento. Potrebbe essere un partner bancario, il nome di una banca e così via. Ad esempio: American Express, HDFC, ICICI.

PaymentInstrumentItem

[START payment_instrument_item_definition]

Rappresentazione JSON
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
Campi
type

enum (PaymentInstrumentType)

Tipo di strumento di pagamento. Obbligatorio.

name

string

Nome dell'elemento dello strumento di pagamento, ad esempio il nome della carta di credito. Ad esempio: HDFC Infinia, American Express Platinum. Obbligatorio.

Abbonamento

[START subscription_definition]

Rappresentazione JSON
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Campi
name

string

Il nome dell'abbonamento. Obbligatorio.

subscriptionAutoAdded

boolean

Indica se l'abbonamento viene aggiunto automaticamente quando un utente usufruisce di questa offerta.

cost

object (Money)

Il costo dell'abbonamento. Obbligatorio.

subscriptionDuration

string (Duration format)

Per quanto tempo è valido l'abbonamento al costo dell'abbonamento. Obbligatorio.

Una durata in secondi con un massimo di nove cifre frazionarie, che termina con "s". Esempio: "3.5s".

termsAndConditionsUrl

string

URL dei termini e condizioni del partner pertinenti a questo abbonamento.

Termini

[START terms_definition]

Rappresentazione JSON
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Campi
url

string

URL dei termini e condizioni del partner.

restrictedToCertainUsers

boolean

Indica se l'offerta è limitata a determinati utenti.

termsAndConditions

string

Testo dei Termini e condizioni principali fornito dal partner.

additionalTermsAndConditions[]

string

Termini e condizioni aggiuntivi rispetto a quelli principali del partner.