Offer

LINT.IfChange(offer_definition) [START offer_definition] Próxima tag: 26

Representação 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

ID exclusivo da oferta. Obrigatório.

entityIds[]

string

Lista de comerciantes que estão participando desta oferta.

addOnOfferApplicableToAllEntities

boolean

Se for verdadeiro, essa oferta será aplicável a todas as entidades do agregador. Aplicável somente a ofertas de complementos.

offerSource

enum (OfferSource)

Uma oferta pode ser fornecida pelo agregador, por um comerciante individual ou até mesmo por um terceiro como um complemento. Obrigatório.

actionType

enum (ActionType)

O serviço que está oferecendo a promoção. Um offerId pode pertencer a apenas um actionType. Se uma oferta puder ser compartilhada em vários tipos de serviço, ofertas duplicadas com IDs exclusivos serão criadas para cada tipo de serviço. Obrigatório.

offerModes[]

enum (OfferMode)

Os métodos de aproveitamento da oferta: sem agendamento, reserva, on-line etc. Obrigatório.

offerCategory

enum (OfferCategory)

A categoria da oferta. Obrigatório.

sourceAssignedPriority

integer

Número inteiro não negativo ([1 a 100], em que 1 representa a prioridade mais alta) que indica o nível de prioridade da oferta atribuída pela fonte. Quando várias ofertas estão disponíveis para o mesmo comerciante, isso é um indicador para a classificação delas. "0" representa que a prioridade não está definida.

offerDetails

object (OfferDetails)

Detalhes da oferta, como desconto, custo da reserva etc. Obrigatório.

offerRestrictions

object (OfferRestrictions)

Descreve como a oferta é restrita, ou seja, se uma assinatura/instrumento de pagamento é necessária, se ela pode ser combinada com outras ofertas (e quais tipos), etc. Obrigatório.

coupon

object (Coupon)

Detalhes de um cupom. Obrigatório para offerCategory: OFFER_CATEGORY_ADD_ON_COUPON_OFFER.

paymentInstrument

object (PaymentInstrument)

Detalhes de um instrumento de pagamento. Obrigatório para offerCategory: OFFER_CATEGORY_ADD_ON_PAYMENT_OFFER.

subscription

object (Subscription)

Detalhes de uma assinatura. Obrigatório para offerCategory: OFFER_CATEGORY_ADD_ON_SUBSCRIPTION_OFFER.

terms

object (Terms)

Termos e Condições da oferta. Obrigatório.

validityPeriods[]

object (ValidityPeriod)

O período de validade da oferta. Descreve o período em que a oferta é válida, incluindo horários de início e término, dias da semana etc. Obrigatório.

offerUrl

string

URL da página de oferta do comerciante. Obrigatório para offerCategory: OFFER_CATEGORY_BASE_OFFER.

imageUrl

string

URL da imagem da oferta do comerciante.

tags[]

enum (OfferTag)

Tags especiais associadas à oferta. Usado para identificar ofertas especiais, como "Festivo", "Mais avaliado", "Mais reservado" etc.

brandId

string

Obrigatório para ofertas de vale-presente para identificar a marca que oferece a oferta.

OfferDetails

[START offer_details_definition] Próxima tag: 15

Representação 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

O texto da oferta que o provedor quer mostrar aos clientes na página de resultados da pesquisa. Obrigatório.

maxDiscountValue

object (Money)

O desconto máximo que pode ser aproveitado. Por exemplo, 10% de desconto em até R $100.

minSpendValue

object (Money)

O valor mínimo de gasto para aproveitar o desconto. Por exemplo, 10% de desconto quando o preço total for de US $100 ou mais.

bookingCost

object (Money)

O custo para reservar esta oferta. Por exemplo, R$ 100 de desconto na conta final ao reservar uma mesa por R $15.

bookingCostUnit

enum (FeeUnit)

A unidade do custo da reserva. Por exemplo, por pessoa, por transação.

convenienceFee

object (Fee)

bookingCostAdjustable

boolean

Se o custo da reserva é ajustável, ou seja, se ele é subtraído da fatura final. Por exemplo: 30% de desconto no jantar com reserva. O custo para reservar é de US $15, que será aplicado à fatura final. Portanto, a fatura final é: Total gasto - 30% - US$ 15

additionalFees[]

object (AdditionalFee)

Taxas extras cobradas do usuário. Exemplos: conveniência, manuseio, entrega, embalagem, taxa de serviço etc.

giftCardInfo

object (GiftCardInfo)

Detalhes específicos para ofertas de vale-presente.

Campo de união offer_specification. O desconto pode ser uma porcentagem ou um valor fixo subtraído do valor total. Por exemplo: 1. 10% de desconto na fatura final. 2. US$ 15 de desconto em um pedido. Os comerciantes também podem oferecer descontos personalizados, como "compre um e ganhe outro sem custo financeiro", usando os campos de especificação relevantes. Obrigatório. offer_specification pode ser apenas de um dos tipos a seguir:
discountPercent

number

Porcentagem da fatura com desconto. [0, 100] Para ofertas de 1+1 ou 50% de desconto aplicáveis a toda a refeição (por exemplo, buffet 1+1, 1+1 na conta inteira, 1+1 no menu fixo), esse valor pode ser definido como 50.

discountValue

object (Money)

Valor fixo do desconto.

otherOfferDetailText

string

Texto em formato livre para descrever o desconto. Para ofertas específicas de 1+1 (por exemplo, 1+1 bebidas, +1 prato principal, 1+1 itens selecionados do menu), esses detalhes devem ser descritos aqui.

OfferRestrictions

[START offer_restrictions_definition] Próxima tag: 11

Representação JSON
{
  "combinableWithOtherOffers": boolean,
  "combinableOfferCategories": [
    enum (OfferCategory)
  ],
  "combinableOfferIds": [
    string
  ],
  "inclusions": [
    {
      object (OfferCondition)
    }
  ],
  "exclusions": [
    {
      object (OfferCondition)
    }
  ],
  "minGuest": integer,
  "foodOfferRestrictions": {
    object (FoodOfferRestrictions)
  },
  "specialConditions": [
    string
  ]
}
Campos
combinableWithOtherOffers

boolean

Se esta oferta pode ser combinada com outras. Quando definido como "true", os parceiros podem especificar com quais ofertas ela pode ser combinada. Se "combinableOfferCategories" e "combinableOfferIds" estiverem definidos, qualquer oferta que corresponda a uma das condições acima poderá ser combinada.

combinableOfferCategories[]

enum (OfferCategory)

Lista de tipos de ofertas que podem ser combinadas com esta. Por exemplo, essa oferta pode ser combinada com outros cupons. Se "combinableWithOtherOffers" for verdadeiro e este campo não estiver definido, todos os tipos poderão ser combinados.

combinableOfferIds[]

string

Lista de "offer_ids" que podem ser combinados com esta oferta. Algumas ofertas só podem ser combinadas com outros offer_ids específicos (que podem ser considerados ofertas principais). Se "combinableWithOtherOffers" for verdadeiro e este campo não estiver definido, todos os IDs de oferta poderão ser combinados.

inclusions[]

object (OfferCondition)

Lista de condições que precisam ser atendidas para que a oferta seja válida (por exemplo, bebidas não alcoólicas, alimentos).

exclusions[]

object (OfferCondition)

Lista de condições que invalidariam a oferta (por exemplo, buffet, combos e coquetéis).

minGuest

integer

O número mínimo de pessoas necessárias para aproveitar a oferta.

foodOfferRestrictions

object (FoodOfferRestrictions)

Restrições específicas para ofertas de alimentos.

specialConditions[]

string

Condições especiais desta oferta que precisam ser mostradas ao usuário. Exemplos: "Válido apenas para pagamento em [área]", "Não aceita pagamentos on-line"

OfferCondition

[START offer_condition_definition]

Representação JSON
{
  "description": string
}
Campos
description

string

PaymentInstrument

[START payment_instrument_definition]

Representação JSON
{
  "items": [
    {
      object (PaymentInstrumentItem)
    }
  ],
  "providerName": string
}
Campos
items[]

object (PaymentInstrumentItem)

Lista de instrumentos de pagamento que podem ser usados para aproveitar a oferta. Obrigatório.

providerName

string

Nome do provedor do instrumento de pagamento. Pode ser um parceiro bancário, o nome de um banco etc. Por exemplo: American Express, HDFC, ICICI.

PaymentInstrumentItem

[START payment_instrument_item_definition]

Representação JSON
{
  "type": enum (PaymentInstrumentType),
  "name": string
}
Campos
type

enum (PaymentInstrumentType)

Tipo do instrumento de pagamento. Obrigatório.

name

string

Nome do item do instrumento de pagamento, como o nome do cartão de crédito. Por exemplo: HDFC Infinia, American Express Platinum. Obrigatório.

Assinatura

[START subscription_definition]

Representação JSON
{
  "name": string,
  "subscriptionAutoAdded": boolean,
  "cost": {
    object (Money)
  },
  "subscriptionDuration": string,
  "termsAndConditionsUrl": string
}
Campos
name

string

O nome da assinatura. Obrigatório.

subscriptionAutoAdded

boolean

Indica se a assinatura é adicionada automaticamente quando um usuário aproveita esta oferta.

cost

object (Money)

O custo da assinatura. Obrigatório.

subscriptionDuration

string (Duration format)

Por quanto tempo a assinatura é válida no subscription_cost. Obrigatório.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

termsAndConditionsUrl

string

URL dos termos e condições do parceiro relevantes para esta assinatura.

Termos

[START terms_definition]

Representação JSON
{
  "url": string,
  "restrictedToCertainUsers": boolean,
  "termsAndConditions": string,
  "additionalTermsAndConditions": [
    string
  ]
}
Campos
url

string

URL dos Termos e Condições do parceiro.

restrictedToCertainUsers

boolean

Se a oferta é restrita a determinados usuários.

termsAndConditions

string

Texto principal dos Termos e Condições fornecido pelo parceiro.

additionalTermsAndConditions[]

string

Termos e condições além dos T&C principais do parceiro.