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 lojas que participam desta oferta.

addOnOfferApplicableToAllEntities

boolean

Se for "true", a oferta será aplicável a todas as entidades do agregador. Aplicável apenas a ofertas de complementos.

offerSource

enum (OfferSource)

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

actionType

enum (ActionType)

O serviço que está fornecendo a oferta. Um offerId pode pertencer a apenas um actionType. Se uma oferta puder ser compartilhada entre 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 reserva, com reserva, on-line etc. Obrigatório.

offerCategory

enum (OfferCategory)

A categoria da oferta. Obrigatório.

sourceAssignedPriority

integer

Número inteiro não negativo ([1-100], em que 1 representa a prioridade mais alta) que indica o nível de prioridade da oferta atribuída pela origem. 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 essa oferta pode ser combinada com outras (e de que 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 da loja. 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

Identifica a marca associada à oferta. Se não for definido, a marca padrão será usada.

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 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 essa 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 à conta final. Portanto, a fatura final é: total gasto - 30% - US$ 15

additionalFees[]

object (AdditionalFee)

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

giftCardInfo

object (GiftCardInfo)

Detalhes específicos para ofertas de vales-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 leve outro", 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 compre um e leve outro (por exemplo, bebidas, prato principal, itens selecionados do cardápio), esses detalhes precisam ser descritos aqui.

OfferRestrictions

[START offer_restrictions_definition] Next 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 essa oferta pode ser combinada com outras. Quando definido como verdadeiro, os parceiros podem especificar com quais ofertas essa pode ser combinada. Se combinableOfferCategories e combinableOfferIds forem definidos, qualquer oferta que corresponda a uma das condições acima poderá ser combinada.

combinableOfferCategories[]

enum (OfferCategory)

Lista de tipos de oferta que podem ser combinados com esta oferta. Por exemplo, esta oferta pode ser combinada com outros cupons. Se "combinableWithOtherOffers" for verdadeiro e esse 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 determinados offer_ids específicos (podem ser consideradas ofertas principais). Se combinableWithOtherOffers for verdadeiro e esse campo não estiver definido, todos os IDs da 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, comida).

exclusions[]

object (OfferCondition)

Lista de condições que invalidariam a oferta (por exemplo, buffet, ofertas combinadas 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 comida.

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 pelo preço da assinatura [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.