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 tarifa) de cada propriedade. Cada tipo de quarto inclui um identificador exclusivo (RoomID
), nome localizado, descrição e URLs para fotos do quarto. Os dados de cada pacote incluem um identificador exclusivo (PackageID
), localizado
como nome, descrição, ocupação e valores agregados.
É 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 ofertas de produtos.
Além disso, você pode definir ações para:
Adicione um tipo de quarto e um pacote a uma propriedade.
Remover um tipo de quarto e um pacote de uma propriedade.
Para ver exemplos de Mensagens de transação, consulte Transação (dados da propriedade) Exemplos.
Elementos obrigatórios e opcionais
Referência de XML fornece descrições dos elementos obrigatórios e opcionais. Para detalhes sobre atributos e elementos filhos, consulte Elementos e atributos de transação (dados de propriedade).
Sintaxe e esquemas
Use a transação (dados da propriedade) Sintaxe como referência ao criar a Mensagem de transação para garantir 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 a transação de mensagem, consulte Anúncios de hotéis de projeto.
Diretrizes
Use as seguintes diretrizes para uma Mensagem de transação:
- Ações:
delta
: use para adicionar ou atualizar novos tipos de quarto e pacotes (planos de preços).overlay
: use para substituir todos os tipos de quartos e pacotes de uma propriedade por um um novo conjunto. Precisa incluir informações de todos os tipos de quartos e planos de tarifas que 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". Você pode adicionar mais de dois idiomas, se necessário.
- Tipos de quartos e pacotes:
Ao atualizar um tipo de quarto ou pacote, você precisa enviar todos os informações para esse tipo de quarto ou pacote. 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 pode ser feita. Você ainda precisa envie a disponibilidade e as tarifas com o tipo de quarto e os IDs do plano de tarifa. Esses permitem controlar produtos, bem como desativar combinações que que o sistema não oferece mais suporte.Enviar ao Google uma atualização de Mensagem de transação sempre que houver uma mudança na sala de quartos ou pacotes ou detalhes importantes sobre tipos de quartos ou pacotes que precisam ser adicionados.
.
Exemplo
Nesta seção, mostramos um exemplo básico de Mensagem de transação ARI usando o
elementos obrigatórios e opcionais. Para adicionar ou atualizar pacotes e tipos de quarto,
use uma ação para delta
adicionar ou atualizar tipos de quartos e pacotes ou
overlay
para substituir todas as definições de tipo de quarto e pacote (exclui as definições 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". Depois, adicione informações de dados da propriedade, incluindo links para fotos.
Para <PropertyID>
e <RoomID>
, use os mesmos IDs que você usa no seu sistema
para planos de tarifas e tipos de quarto (respectivamente). A consistência com seu sistema é
é fundamental para garantir que o Google exiba corretamente seus preços e dados.
Depois de preparar seu arquivo, você precisa enviá-lo ao Google por uma mensagem POST
ao seguinte endpoint: https://www.google.com/travel/hotels/uploads/property_data
Para saber mais sobre como enviar a mensagem por push/POST, consulte Push .
O exemplo a seguir mostra como definir a Mensagem de transação usando um delta
.
ação:
<?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 fornece soluções para cenários que você pode encontrar ao enviar Mensagens de transação.
Cenário 1: como remover dados de tipo de quarto
Como faço para remover os dados do tipo de quarto e/ou do pacote?
Descrição
Você enviou vários tipos de quarto, incluindo quartos king e queen, para o . Apenas os quartos king estão indisponíveis em reformas e todos os tipos de quarto queen tipos de quarto disponíveis no momento.
Solução
- Não é preciso atualizar a disponibilidade, as taxas ou o inventário por noite do o tipo de quarto e os códigos de pacote que foram removidos ou desativados.
- Se o tipo de quarto ou pacote tiver sido removido ou desativado, envie uma nova
Mensagem de transação com
action="overlay"
que inclui apenas o quarto tipos e pacotes que ainda estão ativos e exclui o tipo de quarto removido ou pacote.
Exemplo
Este snippet XML mostra como usar a ação overlay
para remover um tipo de quarto.
Confira a ação original do delta
, 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>
Defina overlay
para remover o tipo de quarto queen e manter o rei
tipo de quarto:
<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 produtos (combinações de tipos de quarto e pacotes) quando os pacotes são agrupados por tipo de quarto?
Descrição
Alguns pacotes estão disponíveis apenas 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 especificando quais produtos estão incluídos.
no pacote usando <AllowablePackageIDs>
.
Exemplo
Este snippet XML mostra como usar <AllowablePackageIDs>
para especificar pacotes
usado 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 produtos (combinações de tipos de quarto e pacotes) quando os tipos de quarto sã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 para controlar o que é incluído em um novo pacote. Por exemplo, você quer especificar somente alguns tipos de quartos, como quartos king e queen com vista para o mar, com de um pacote.
Solução
Envie uma Mensagem de transação atualizada especificando os produtos exatos incluídos
com o pacote usando o elemento <AllowableRoomIDs>
.
Exemplo
Este snippet de XML mostra como usar <AllowableRoomID>
para especificar o Oceanview King
e Queen no pacote.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>