Mensagem de promoções

Informações gerais

A Mensagem de promoções define regras para descontos usando OTA_HotelRateAmountNotifRQ. Para cada taxa, as promoções definidas são avaliadas e o maior desconto permitido é aplicado à taxa. Esse tipo de mensagem é opcional, e você só precisa definir promoções se elas forem usadas no seu sistema para aplicar descontos.

É possível combinar promoções e aplicá-las a diferentes atributos do usuário, como tipos de dispositivo (smartphone, tablet, computador) e códigos de país.

Para ver exemplos de vários cenários relacionados à promoção, consulte os instruções.

As seções a seguir abordam diretrizes gerais, um exemplo básico e cenários de instruções para você começar a adicionar e atualizar promoções.

Diretrizes

Esta seção aborda as diretrizes comuns e as instruções especiais para definir promoções.

Use as seguintes diretrizes para promoções:

Ações

Excluir
Use uma ação delete no elemento <Promotion> para excluir uma única promoção pelo ID.
Sobreposição
Use uma ação overlay no elemento <HotelPromotions> para substituir todas as promoções de uma propriedade.
Delta
Se nenhuma ação for especificada, todas as promoções especificadas em <HotelPromotions> serão adicionadas ou substituídas. Se uma promoção com esse ID nunca tiver sido adicionada ou excluída, ela será adicionada. Se existir uma promoção com esse ID, ela será substituída pela nova definição.

Geral

  • Pode haver uma única promoção ou um conjunto de promoções para cada propriedade, e cada promoção tem um conjunto de condições. Essa promoção só pode ser aplicada se as condições forem satisfeitas.

  • Se você quiser que uma promoção se aplique apenas a uma data específica, tipo de quarto ou plano de tarifa, especifique isso nas condições da promoção. Se a promoção não se aplicar a uma data específica, tipo de quarto ou plano de tarifa, eles não precisam ser definidos.

  • Cada promoção está vinculada a uma propriedade específica. Se você usar a mesma promoção para várias propriedades, precisará enviá-la separadamente para cada propriedade. Para especificar seu identificador de propriedade, use o atributo hotel_id do elemento <HotelPromotions>.

  • É possível incluir até 99 promoções. Entre em contato com seu Gerente técnico de contas do Google se precisar incluir mais informações.

  • Use o elemento <Stacking> para especificar como as promoções podem ser combinadas. Por padrão, o Google usa o tipo de empilhamento base, o que significa que a melhor promoção base qualificada é selecionada e aplicada primeiro, antes de outras promoções. Observe que base só pode ser combinado com second ou any e não com outro base ou none.

  • Mesmo que haja uma pilha de várias promoções que possam ser aplicadas juntas, essa pilha pode não ser realmente usada se houver outra única promoção ou pilha de promoções que ofereça um desconto maior. A promoção (combinação) com o maior desconto é aplicada à reserva quando várias (combinações) são qualificadas.

  • Envie uma atualização de mensagem de promoções sempre que ocorrerem mudanças que afetem suas promoções.

A melhor promoção (ou pilha de promoções) é aplicada ao valor de AmountAfterTax. Se apenas AmountBeforeTax for especificado, as promoções serão aplicadas a AmountBeforeTax.

Exemplo

Esta seção fornece um exemplo básico de uma Mensagem de promoções usando elementos obrigatórios e opcionais. Depois de preparar seu arquivo, envie-o para o Google usando uma mensagem POST para este endpoint:

https://www.google.com/travel/hotels/uploads/promotions

Para saber mais sobre como enviar/POSTar a mensagem, consulte Como enviar mensagens.

Para o atributo hotel_id de <HotelPromotions>, use o ID do hotel exclusivo usado no sistema para identificar a propriedade. Esse valor precisa corresponder ao ID do hotel especificado usando <id> no elemento <listing> no feed de lista de hotéis. A consistência com o sistema é fundamental para garantir que o Google esteja exibindo seus dados corretamente.

UserCountry serve para listar os locais dos usuários (países) qualificados para a promoção. Se especificado, apenas os usuários nos países listados vão receber a tarifa com desconto.

Este exemplo mostra como definir um desconto de 15% para uma estadia prolongada para usuários nos Estados Unidos e na Itália:

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123_abc"
            timestamp="2022-05-30T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="15"/>
      <UserCountries>
        <Country code="US"/>
        <Country code="IT"/>
      </UserCountries>
    </Promotion>
  </HotelPromotions>
</Promotions>

Para mais exemplos, consulte Exemplos de promoções.

Tutoriais

Esta seção fornece soluções para cenários que você pode encontrar ao definir promoções.

Cenário 1: como adicionar uma promoção de desconto para estadia prolongada

Descrição

Você quer oferecer noites com desconto em determinados dias de uma estadia prolongada.

Solução

Use a configuração FreeNights para personalizar o tipo de desconto aplicado, dependendo do número de noites.

Exemplo

Este exemplo mostra como adicionar um desconto de 20% para duas noites a cada sete noites para um período de reserva especificado. Para um itinerário de 15 noites, um desconto de 20% é aplicado a um total de 4 noites.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-05T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-02-01" end="2022-06-30"/>
      </BookingDates>
      <Discount>
        <FreeNights stay_nights="7"
                    discount_nights="2"
                    discount_percentage="20"
                    night_selection="cheapest"
                    repeats="true"/>
      </Discount>
    </Promotion>
  </HotelPromotions>
</Promotions>

Cenário 2: como definir tipos de dispositivos

Você define devices para especificar os dispositivos dos usuários qualificados para a promoção. Se especificado, apenas os usuários nos dispositivos listados vão receber a tarifa com desconto.

Descrição

Você quer especificar o tipo de dispositivo do usuário qualificado para a promoção.

Solução

Defina o tipo de dispositivo como um ou mais dos seguintes valores: desktop, tablet ou mobile.

Exemplo

O exemplo a seguir mostra como especificar um desconto de 25% para usuários de dispositivos móveis e tablets:

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="25"/>
        <Devices>
          <Device type="mobile"/>
          <Device type="tablet"/>
        </Devices>
    </Promotion>
  </HotelPromotions>
</Promotions>

Cenário 3: como substituir promoções antigas por novas

Descrição

O conjunto atual de promoções de uma propriedade está desatualizado ou incorreto e precisa ser substituído por um conjunto totalmente novo.

Solução

Use a ação overlay para substituir as promoções.

Exemplo

O exemplo a seguir mostra os dois descontos originais de 20% e 30% para a propriedade.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-06-01" end="2022-07-31"/>
      </BookingDates>
      <Discount percentage="20"/>
    </Promotion>
    <Promotion id="2">
      <BookingDates>
        <DateRange start="2022-08-01" end="2022-08-31"/>
      </BookingDates>
      <Discount percentage="30"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

E esta amostra mostra como usar overlay para substituir as duas promoções existentes por uma única promoção de 15% de desconto para a propriedade.

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-25T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1" action="overlay">
    <Promotion id="1">
      <BookingDates>
        <DateRange start="2022-06-01" end="2022-07-31"/>
      </BookingDates>
      <Discount percentage="15"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

Cenário 4: como remover uma ou todas as promoções

Descrição

Você quer remover uma ou todas as promoções (sem substituição) porque a propriedade removeu todas as promoções sem definir novas ou você cometeu um erro e precisa corrigi-la.

Solução

Use a ação delete se você quiser excluir somente promoções individuais específicas de uma propriedade. Use a ação overlay (não delete) para remover todas as promoções existentes sem substituição.

Para saber mais sobre como substituir promoções usando overlay, consulte o Cenário 3.

Exemplos

O exemplo a seguir mostra como excluir apenas uma promoção de uma propriedade:

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1" action="delete"/>
  </HotelPromotions>
</Promotions>

Este exemplo mostra como remover todas as promoções sem substituição de uma propriedade:

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1" action="overlay"/>
</Promotions>

Cenário 5: como agrupar promoções

O empilhamento especifica como as promoções podem ser combinadas. Se não for especificado, type vai ser considerado base, o que significa que a melhor promoção base qualificada é selecionada e aplicada primeiro, antes de outras promoções. Quando o atributo type de Stacking for any, ele poderá ser combinado com qualquer outra promoção.

Descrição

Você quer que o usuário tenha a opção de usar várias promoções ao mesmo tempo para a mesma propriedade.

Solução

Use o empilhamento para definir vários descontos por propriedade. Uma pilha pode ter no máximo um base e um second, mas um número ilimitado de any. any pode ser combinado com os outros tipos, exceto none.

Exemplo

Este exemplo mostra como empilhar os tipos base, second e any. Para um desconto combinado de 15%, 25%, 10%, um preço de US $100 é um total de US$ 57,38 (100 × 0,85 × 0,75 × 0,9).

<?xml version="1.0" encoding="UTF-8"?>
<Promotions partner="account_x"
            id="123"
            timestamp="2022-05-20T16:20:00-04:00">
  <HotelPromotions hotel_id="Property_1">
    <Promotion id="1">
      <Discount percentage="15"/>
      <Stacking type="base"/>
    </Promotion>
    <Promotion id="2">
      <Discount percentage="25"/>
      <Stacking type="second"/>
    </Promotion>
    <Promotion id="3">
      <Discount percentage="10"/>
      <Stacking type="any"/>
    </Promotion>
    <Promotion id="4">
      <Discount percentage="40"/>
      <Stacking type="none"/>
    </Promotion>
  </HotelPromotions>
</Promotions>

O desconto combinado para as promoções empilhadas de 1 a 3 é melhor do que o desconto da promoção 4. A promoção 4 não pode ser combinada com outras promoções devido ao tipo de empilhamento (none). Se a promoção 4 tivesse um desconto de 43% ou mais, ela seria usada no lugar da combinação das promoções 1 a 3.