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)

El 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)

Los métodos para aprovechar la oferta: sin cita previa, con reserva, en línea, etc. Es obligatorio.

offerCategory

enum (OfferCategory)

La categoría de la oferta. Obligatorio.

sourceAssignedPriority

integer

Es un número entero no negativo ([1-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, este será un indicador para clasificarlas. El 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 de qué tipos), etc. Obligatorio.

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. Obligatorio 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 de validez de la oferta, incluidas las horas 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 ofertas 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 las etiquetas especiales asociadas con la oferta. Se usa para identificar ofertas especiales, como "Festivo", "Mejor calificado", "Más reservado", etcétera.

brandId

string

Identifica la marca asociada con la oferta. Si no se establece, se usa la marca predeterminada.

OfferDetails

[START offer_details_definition] Próxima 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 desea mostrar a los clientes en la página de resultados de búsqueda. Obligatorio.

maxDiscountValue

object (Money)

Es el descuento máximo que se puede aprovechar. 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 factura final cuando se reserva una mesa por un costo de USD 15.

bookingCostUnit

enum (FeeUnit)

Es la unidad del costo de la reserva. Por ejemplo, por persona, 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 será la siguiente: Total invertido - 30% - USD 15

additionalFees[]

object (AdditionalFee)

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

giftCardInfo

object (GiftCardInfo)

Detalles específicos de 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., buffet 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 sin formato para describir el descuento. En el caso de ofertas específicas de 1+1 (p.ej., 1+1 bebidas, +1 plato principal, 1+1 platos del menú seleccionados), estos detalles se deben describir aquí.

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 IDs de oferta específicos (se pueden considerar ofertas superiores). Si combinableWithOtherOffers es verdadero y no se establece este campo, se podrán combinar todos los ID de la oferta.

inclusions[]

object (OfferCondition)

Es la 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., buffet, 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étera. 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)

El costo de la suscripción Obligatorio.

subscriptionDuration

string (Duration format)

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

Es la URL de los Términos y Condiciones del socio que son pertinentes para esta suscripción.

Condiciones

[START terms_definition]

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

string

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 Términos y Condiciones que proporciona el socio.

additionalTermsAndConditions[]

string

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