Offer

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

Representación 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
}
Campos
offerId

string

Es el ID único de la oferta. Obligatorio.

entityIds[]

string

Es la lista de comercios que participan en esta oferta.

addOnOfferApplicableToAllEntities

boolean

Si es verdadero, esta oferta se aplica a todas las entidades del agregador. Solo se aplica a las ofertas de complementos.

offerSource

enum (OfferSource)

Un agregador, un comercio individual o incluso un tercero pueden proporcionar una oferta como complemento. Obligatorio.

actionType

enum (ActionType)

Es el servicio que proporciona la oferta. Un offerId solo puede pertenecer a un actionType. Si una oferta se puede compartir en varios tipos de servicios, se espera que se creen ofertas duplicadas con IDs únicos para cada tipo de servicio. Obligatorio.

offerModes[]

enum (OfferMode)

Son los métodos por los que se puede aprovechar la oferta (en persona, con reserva, en línea, etc.). Es obligatorio.

offerCategory

enum (OfferCategory)

Es la categoría de la oferta. Obligatorio.

sourceAssignedPriority

integer

Es un número entero no negativo (de 1 a 100, donde 1 representa la prioridad más alta) que indica el nivel de prioridad de la oferta asignada por la fuente. Cuando haya varias ofertas disponibles para el mismo comercio, esto será un indicador para clasificar las ofertas. El valor 0 representaría que no se estableció la prioridad.

offerDetails

object (OfferDetails)

Son los detalles de la oferta, como el descuento, el costo de la reserva, etcétera. Es obligatorio.

offerRestrictions

object (OfferRestrictions)

Describe cómo se restringe la oferta, es decir, si se requiere una suscripción o un instrumento de pago, si esta oferta se puede combinar con otras (y qué tipos), etcétera. Se requiere.

coupon

object (Coupon)

Son los detalles de un cupón. Se requiere para offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object (PaymentInstrument)

Son los detalles de un instrumento de pago. Se requiere para offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object (Subscription)

Son los detalles de una suscripción. Se requiere para offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Términos y condiciones de la oferta. Obligatorio.

validityPeriods[]

object (ValidityPeriod)

Es el período de validez de la oferta. Describe el período durante el cual la oferta es válida, incluidos los horarios de inicio y finalización, los días de la semana, etcétera. Es obligatorio.

offerUrl

string

Es la URL de la página de la oferta del comercio. Se requiere para offerCategory: OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

Es la URL de la imagen de la oferta del comercio.

tags[]

enum (OfferTag)

Son etiquetas especiales asociadas con la oferta. Se usa para identificar ofertas especiales, como "Festivo", "Mejor calificado", "Más reservado", etcétera.

brandId

string

Se requiere para los acuerdos de tarjetas de regalo para identificar la marca que ofrece el acuerdo.

OfferDetails

[START offer_details_definition] Siguiente etiqueta: 15

Representación 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.
}
Campos
offerDisplayText

string

Es el texto de la oferta que el proveedor de la oferta quiere mostrar a los clientes en la página de resultados de la búsqueda. Obligatorio.

maxDiscountValue

object (Money)

Es el descuento máximo que se puede obtener. Por ejemplo, un 10% de descuento hasta USD 100.

minSpendValue

object (Money)

Es el valor de inversión mínimo para aprovechar el descuento. Por ejemplo, un 10% de descuento cuando el precio total es de USD 100 o más.

bookingCost

object (Money)

Es el costo para reservar esta oferta. Por ejemplo, USD 100 de descuento en la cuenta final cuando se reserva una mesa por USD 15.

bookingCostUnit

enum (FeeUnit)

Es la unidad del costo de la reserva. Por ejemplo, por persona y por transacción.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Indica si el costo de la reserva es ajustable, es decir, si se resta de la factura final. Por ejemplo, un 30% de descuento en la cena con reserva. El costo de la reserva es de USD 15 y se aplicará a la factura final. Por lo tanto, la factura final es: Total invertido - 30% - USD 15

additionalFees[]

object (AdditionalFee)

Son las comisiones adicionales que se cobran al usuario. Ejemplos: Cargos de conveniencia, gestión, entrega, empaquetado, servicio, etcétera.

giftCardInfo

object (GiftCardInfo)

Son detalles específicos para las ofertas de tarjetas de regalo.

Campo de unión offer_specification. El descuento puede ser un porcentaje o un valor fijo que se resta del valor total. Por ejemplo: 1. 10% de descuento en la factura final 2. USD 15 de descuento en un pedido Los comercios también pueden ofrecer descuentos personalizados, como "compra uno y llévate uno gratis", a través de los campos de especificación pertinentes. Obligatorio. offer_specification puede ser solo uno de los parámetros siguientes:
discountPercent

number

Es el porcentaje de la factura que se descuenta. [0, 100] Para las ofertas de 2x1 o de un 50% de descuento que se aplican a toda la comida (p.ej., bufé de 2x1, 2x1 en toda la cuenta, 2x1 en el menú fijo), este valor se puede establecer en 50.

discountValue

object (Money)

Es el valor fijo del descuento.

otherOfferDetailText

string

Texto en formato libre para describir el descuento. Aquí se deben describir los detalles de las ofertas específicas de 1+1 (p.ej., 1+1 en bebidas, +1 en plato principal, 1+1 en elementos del menú seleccionados).

OfferRestrictions

[START offer_restrictions_definition] Próxima etiqueta: 11

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

boolean

Indica si esta oferta se puede combinar con otras. Cuando es verdadero, los socios pueden especificar con qué ofertas se puede combinar esta oferta. Si se configuran combinableOfferCategories y combinableOfferIds, cualquier oferta que coincida con una de las condiciones anteriores se podrá combinar.

combinableOfferCategories[]

enum (OfferCategory)

Es la lista de tipos de ofertas con los que se puede combinar esta oferta. Por ejemplo, esta oferta se puede combinar con otros cupones. Si combinableWithOtherOffers es verdadero y este campo no está configurado, todos los tipos se podrán combinar.

combinableOfferIds[]

string

Es la lista de offer_ids con los que se puede combinar esta oferta. Algunas ofertas solo se pueden combinar con otros offer_ids específicos (se pueden considerar ofertas principales). Si combinableWithOtherOffers es verdadero y este campo no está configurado, todos los IDs de oferta se podrán combinar.

inclusions[]

object (OfferCondition)

Lista de condiciones que se deben cumplir para que la oferta sea válida (p.ej., bebidas sin alcohol, comida).

exclusions[]

object (OfferCondition)

Lista de condiciones que invalidarían la oferta (p.ej., bufé, ofertas combinadas y cocteles).

minGuest

integer

Es la cantidad mínima de personas necesarias para aprovechar la oferta.

foodOfferRestrictions

object (FoodOfferRestrictions)

Son restricciones específicas para las ofertas de comida.

specialConditions[]

string

Son las condiciones especiales de esta oferta que se deben mostrar al usuario. Ejemplos: "Solo válido para pagos en [área]", "No incluye pagos en línea"

OfferCondition

[START offer_condition_definition]

Representación JSON
{
  "description": string
}
Campos
description

string

PaymentInstrument

[START payment_instrument_definition]

Representación JSON
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Campos
items[]

object (PaymentInstrumentItem)

Es la lista de instrumentos de pago que se pueden usar para aprovechar la oferta. Obligatorio.

providerName

string

Es el nombre del proveedor del instrumento de pago. Puede ser un socio bancario, el nombre de un banco, etc. Por ejemplo: American Express, HDFC, ICICI.

PaymentInstrumentItem

[START payment_instrument_item_definition]

Representación JSON
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
Campos
type

enum (PaymentInstrumentType)

Es el tipo de instrumento de pago. Obligatorio.

name

string

Nombre del elemento del instrumento de pago, como el nombre de la tarjeta de crédito. Por ejemplo: HDFC Infinia, American Express Platinum. Obligatorio.

Suscripción

[START subscription_definition]

Representación JSON
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Campos
name

string

Es el nombre de la suscripción. Obligatorio.

subscriptionAutoAdded

boolean

Indica si la suscripción se agrega automáticamente cuando un usuario aprovecha esta oferta.

cost

object (Money)

Es el costo de la suscripción. Obligatorio.

subscriptionDuration

string (Duration format)

Es el período durante el que la suscripción es válida al precio de subscription_cost. Obligatorio.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

termsAndConditionsUrl

string

URL de los términos y condiciones del socio pertinentes para esta suscripción.

Condiciones

[START terms_definition]

Representación JSON
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Campos
url

string

Es la URL de los Términos y Condiciones del socio.

restrictedToCertainUsers

boolean

Indica si la oferta está restringida a ciertos usuarios.

termsAndConditions

string

Es el texto principal de los TyC que proporciona el socio.

additionalTermsAndConditions[]

string

Son los términos y condiciones que se suman a los principales del socio.