Mensagem de transação (dados de propriedade)

Visão geral

A mensagem de transação de ARI (dados da propriedade) define as informações sobre os tipos de quarto e pacotes (ou planos de tarifas) de cada propriedade. Cada tipo de quarto inclui um identificador exclusivo (RoomID), nome localizado, descrição e URLs para fotos do quarto. Cada pacote de dados inclui um identificador exclusivo (PackageID), nome, descrição, ocupação e valor agregado localizados.

É possível usar uma mensagem de transação para:

  • Defina dados para uma ou mais propriedades.
  • Defina o tipo de quarto e as informações do pacote para cada propriedade.
  • Controlar as ofertas de produtos.

Além disso, é possível definir ações para fazer o seguinte:

  • Adicionar um tipo de quarto e um pacote a uma propriedade.

  • Remover um tipo de quarto e um pacote de uma propriedade.

  • Adicione pontos de fidelidade, um programa de recompensas a um pacote ou propriedade.

Para conferir exemplos de mensagens de transação, consulte Exemplos de transação (dados de propriedade).

Elementos obrigatórios e opcionais

A referência do XML oferece descrições dos elementos obrigatórios e opcionais. Para saber mais sobre atributos e elementos filhos, consulte Elementos e atributos de transação (dados de propriedade).

Sintaxe e esquemas

Use o exemplo de sintaxe de transação (dados de propriedade) como referência ao criar a mensagem de transação para garantir que você está seguindo o formato correto.

Você pode usar uma ferramenta XML de terceiros, como o xmllint, para validar seus feeds com os esquemas publicados antes de enviá-los ao Google. Para o esquema de mensagem de transação, consulte Esquemas de anúncios de hotéis.

Diretrizes

Use as diretrizes a seguir para uma mensagem de transação:

Ações:

delta: use para adicionar ou atualizar novos tipos de quartos e pacotes (planos de preços).

overlay: use para substituir todos os tipos de quarto e pacotes de uma propriedade por um novo conjunto. Deve incluir informações de todos os tipos de quarto e planos de preços que você ainda quer vender.

Suporte de linguagem:

Especifique um ou dois idiomas (inglês e um idioma local da propriedade, se necessário) nos campos "Nome", "Descrição" e "Legenda". É possível adicionar mais de dois idiomas, se necessário.

Tipos de quarto e pacotes:

Ao atualizar um tipo de quarto ou pacote, você precisa enviar todas as informações relacionadas a ele. Por exemplo, ao adicionar uma foto, você também precisa incluir o nome e a descrição.

<AllowablePackageIDs> e <AllowableRoomIDs> são opcionais e, se não forem definidos, qualquer combinação de tipo de quarto e plano de tarifa poderá ser feita. Você ainda precisa enviar a disponibilidade e as tarifas com os IDs do tipo de quarto e do plano de tarifa. Esses elementos permitem controlar produtos e desativar combinações que seu sistema não oferece mais suporte.

Envie uma atualização da mensagem de transação ao Google sempre que houver uma mudança nos tipos de quarto ou pacotes ou detalhes importantes sobre eles que precisam ser adicionados.

Pontos de fidelidade:

Para incluir ou excluir o programa de recompensas do seu pacote, configure uma configuração de pontos de fidelidade com o Google. Isso vai mostrar os pontos ganhos associados a esse pacote. Saiba mais sobre os pontos de fidelidade.

Use o elemento <MilesIncluded> para definir ou atualizar sua campanha de fidelidade. Consulte Transação(dados de propriedade) para mais informações. Os pontos de fidelidade podem ser incluídos com <PackageData>.

Exemplo

Esta seção apresenta um exemplo básico de uma mensagem de transação ARI usando elementos obrigatórios e opcionais. Para adicionar ou atualizar tipos de quarto e pacotes, use uma ação para delta para adicionar ou atualizar tipos de quarto e pacotes ou overlay para substituir todas as definições de tipo de quarto e pacote (exclui as entradas antigas).

É necessário especificar um ou dois idiomas (inglês e um idioma local da propriedade, se necessário) para os campos "Nome", "Descrição" e "Legenda". Em seguida, adicione informações de dados da propriedade, incluindo links para fotos.

Para <PropertyID> e <RoomID>, use os mesmos IDs usados no seu sistema para planos de tarifas e tipos de quarto (respectivamente). A consistência do seu sistema é essencial para garantir que o Google exiba seus preços e dados corretamente.

Depois de preparar o arquivo, envie-o ao Google por uma mensagem POST para o seguinte endpoint: https://www.google.com/travel/hotels/uploads/property_data

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

O exemplo a seguir mostra como definir a mensagem de transação usando uma ação delta:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>PROPERTYID</Property>
      <RoomData>
        <RoomID>ROOMID</RoomID>
        <Name><Text text="ROOM NAME" language="en"/></Name>
        <Description>
          <Text text="ROOM DESCRIPTION TEXT" language="en"/>
        </Description>
        <Capacity>4</Capacity>
        <PhotoURL>
          <Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
          <URL>https://LINK TO PHOTO</URL>
        </PhotoURL>
      </RoomData>
      <PackageData>
        <PackageID>BASE</PackageID>
        <Name><Text text="Internet Special" language="en"/></Name>
        <Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
        <Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
      </PackageData>
  </PropertyDataSet>
</Transaction>

Para conferir mais exemplos, como usar a ação overlay, adicionar um tipo de quarto e um pacote aos dados de propriedade e remover tipos de quarto e pacotes, consulte Exemplos de transação (dados da propriedade).

Tutoriais

Esta seção oferece soluções para cenários que podem ocorrer ao enviar mensagens de transação.

Cenário 1: como remover dados de tipo de ambiente

Como faço para remover dados de tipos de quartos e/ou pacotes?

Descrição

Você enviou vários tipos de quartos, incluindo quartos King e Queen, para a propriedade. Todos os tipos de quarto Queen estão indisponíveis durante uma reforma. No momento, apenas os tipos de quarto King estão disponíveis.

Solução

  • Não é necessário atualizar a disponibilidade diária, as tarifas ou o inventário do tipo de quarto e os IDs de pacotes que foram removidos ou desativados.
  • Se o tipo de quarto ou pacote foi removido ou desativado, envie uma nova mensagem de transação com action="overlay", que inclui apenas os tipos de quarto e pacotes que ainda estão ativos e exclui o tipo de quarto ou pacote removido.

Amostra

Este snippet de XML mostra como usar a ação overlay para remover um tipo de quarto.

Esta é a ação delta original, que inclui os tipos de quarto King e Queen:

  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
      </PackageData>
    <RoomData>
      <RoomID>Queen</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <Capacity>2</Capacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>

Em seguida, defina overlay para remover o tipo de quarto Queen e manter o tipo de quarto King:

  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>

Cenário 2: como controlar produtos usando AllowablePackageIDs

Como controlar os produtos (combinações de tipos de quartos e pacotes) quando os pacotes estão agrupados por tipo de quarto?

Descrição

Você tem pacotes que só estão disponíveis para determinados tipos de quarto. Por exemplo, se a sua propriedade tem quatro tipos de quartos (incluindo a suíte presidencial) e seis pacotes diferentes, mas apenas alguns deles são qualificados para a suíte presidencial, você pode especificar a qualificação.

Solução

Envie uma mensagem de transação atualizada que especifique quais produtos estão incluídos no pacote usando <AllowablePackageIDs>.

Amostra

Este snippet de XML mostra como usar <AllowablePackageIDs> para especificar pacotes usados com um determinado tipo de quarto. Aqui, o tipo de quarto "Penthouse suite" permite apenas o pacote "Penthouse all-inclusive" ou o pacote "Café da manhã grátis", enquanto o tipo de quarto "King suite" permite apenas o pacote "King all-inclusive" ou o pacote "Pet friendly".

<RoomData>
  <RoomID>penthouse_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
    <AllowablePackageID>free_breakfast</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
  <RoomID>king_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>king_all_inclusive</AllowablePackageID>
    <AllowablePackageID>pet_friendly</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
  <PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>pet_friendly</PackageID>
</PackageData>

Cenário 3: como controlar produtos usando AllowableRoomIDs

Como controlar os produtos (combinações de tipos de quartos e pacotes) quando os tipos de quartos estão agrupados por pacote?

Descrição

Uma combinação de tipo de quarto e pacote não é mais vendida como um produto ou você quer controlar o que está incluído em um novo pacote. Por exemplo, você quer especificar apenas determinados tipos de quarto, como King e Queen com vista para o mar, com um pacote.

Solução

Envie uma mensagem de transação atualizada que especifique os produtos exatos incluídos no pacote usando o elemento <AllowableRoomIDs>.

Amostra

Este snippet de XML mostra como usar <AllowableRoomID> para especificar os tipos de quarto King e Queen com vista para o mar no pacote.

<PackageID>RO</PackageID>
<AllowableRoomIDs>
  <AllowableRoomID>king_oceanview</AllowableRoomID>
  <AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>