Com as categorias de quarto, é possível definir vários tipos de quarto para uma única propriedade ou combinar um itinerário de um quarto com recursos de tarifa (serviços adicionais que vêm com uma tarifa e condições de venda) para seus usuários além de um preço padrão.
Principais conceitos e fluxo de trabalho
Com as categorias de quarto, é possível oferecer outras combinações de tipos de quarto físico com diferentes pacotes de serviço.
Exemplos
As imagens a seguir mostram exemplos de pacotes do Room em computadores e dispositivos móveis:
Categorias de quarto com imagens

Este exemplo é a versão para dispositivos móveis dos pacotes de quartos, que consiste em todos os diferentes tipos de quarto para o número necessário de ocupantes e as respectivas imagens dos quartos.
Observação:os pacotes de quartos sem imagens são substituídos por uma imagem de marcador de posição de uma cama.
Recursos de precificação
As imagens a seguir mostram exemplos de recursos de taxa:
A exibição das Categorias de quarto e dos recursos de tarifa nos resultados da pesquisa é feita pelo mesmo processo de seleção das tarifas de quarto padrão.
Categorias de quarto
Você define categorias de quarto e recursos de tarifa em mensagens de transação. O elemento raiz de uma mensagem de transação é <Transaction>
.
A estrutura da mensagem de transação depende do que você está fazendo: definindo os metadados sobre o pacote de quartos ou o recurso de tarifa, ou atualizando os preços ou a disponibilidade do pacote de quartos.
- Metadados
- Defina os metadados do pacote de quarto e do recurso de tarifa com
<PackageData>
em um elemento<PropertyDataSet>
. Para mais informações, consulte Definir metadados de sala e pacote. As Categorias de quarto usam elementos<RoomData>
atuais para as descrições físicas dos quartos. - Preços e disponibilidade
- Defina os preços e a disponibilidade do pacote de quartos com o elemento
<RoomBundle>
em um<Result>
para cada combinação de pacote/roteiro. Para mais informações, consulte Definir preços e disponibilidade.
A tarifa, os impostos e outras taxas do quarto base são obrigatórios em
<Result>
quando não são usados com pacotes de quarto e podem ser removidos quando
usados com pacotes de quarto. Se você estiver implementando pacotes do Room usando uma conta
ativa, siga estas etapas:
Inclua a tarifa, os tributos e outras taxas do quarto base em
<Result>
e adicione um pacote de quarto que corresponda ao pacote de quarto base.Se necessário, defina outras categorias de quarto no mesmo bloco
<Result>
para outros tipos de quarto na propriedade ou pacotes de serviços diferentes.Depois que o pacote de quartos for lançado, remova a tarifa, os tributos e outras taxas do quarto base.
Metadados da categoria de quarto
Ao definir categorias de quarto e recursos de tarifa, você normalmente define a descrição, os serviços adicionais que fazem parte da tarifa e outras informações sobre a categoria de quarto com antecedência. Essas informações são conhecidas como metadados da categoria de quarto. Em seguida, faça referência a esses metadados nas atualizações de preços, mas não os inclua nas mensagens de atualização.
Ao definir pacotes do Room, use elementos <RoomData>
para as descrições físicas dos quartos e elementos <PackageData>
para os recursos de tarifas e termos que não fazem parte da descrição física do quarto.
Usar os elementos <RoomData>
e <PackageData>
pode reduzir significativamente o tamanho da sua lista de hotéis e do feed de preços de hotéis, já que diminui a quantidade de dados repetitivos enviados nas mensagens de transação.
Por exemplo, dados como nome e descrição de um quarto geralmente são repetidos
para cada itinerário. É possível usar os elementos <RoomData>
e <PackageData>
para definir esse tipo de dados uma vez. Em seguida, os dados específicos do itinerário são mesclados com as definições de quarto e pacote armazenadas para exibição ao usuário final.
O Google faz a correspondência entre seus metadados e os dados específicos do itinerário para renderizar o conteúdo dos seus anúncios. Há um processamento especial para combinar os nomes e as descrições dos elementos <RoomData>
e <PackageData>
, permitindo que o quarto físico seja descrito em <RoomData>
e os recursos de tarifa e os detalhes do pacote em <PackageData>
.
Se você definir os dados do quarto e do pacote para um único quarto ou pacote de quarto, o Google vai incluir os dois na saída do anúncio, separados por um hífen.
Diretrizes de fotos
Ao enviar fotos de quartos, siga estas diretrizes para garantir que elas sejam mostradas aos usuários:
Envie fotos de cada tipo de quarto, incluindo fotos de quartos acessíveis, por exemplo, quartos acessíveis designados com vários acessórios de banheiro, como chuveiro sem box.
Inclua pelo menos quatro fotos do quarto e uma do banheiro.
As fotos precisam ser do quarto, e não da propriedade. As fotos mais importantes são da cama, do quarto inteiro, do banheiro, da sala de estar e da vista do quarto (com o restante do quarto na mesma foto) e, se aplicável, da varanda, do pátio ou do terraço.
Também é útil tirar fotos da mesa, da cozinha, das cafeteiras/chaleiras e dos recursos distintos do quarto.
Evite fotos de pessoas e propriedades (por exemplo, fachada ou comodidades), passeios turísticos/turismo e comida.
Evite fotos de perto de objetos, como taças.
Evite marcas e produtos de marca, mas é permitido incluir artigos de higiene pessoal rotulados ou de marca em uma foto que capture toda a área do banheiro. As fotos não podem ter grandes blocos de texto, logotipos ou marcas d'água.
Envie fotos padrão e horizontais com um campo de visão amplo. Evite fotos distorcidas e com efeito olho de peixe. Tire fotos na resolução mais alta para melhorar a classificação. Não é necessário enviar a mesma foto em várias resoluções.
Precedência de dados
Os dados do pacote de quartos são coletados de todas as fontes e combinados usando regras de precedência para produzir os dados finais de um determinado hotel, itinerário e pacote de quartos. A ordem é a seguinte, da menor para a maior prioridade:
- (Mínimo) Dados do parceiro
- Dados da propriedade
<RoomData>
, em que o<RoomID>
corresponde ao<RoomID>
no bloco<RoomBundle>
<PackageData>
, em que o<PackageID>
corresponde ao<PackageID>
no bloco<RoomBundle>
- (Máximo)
<RoomBundle>
Definir preços e disponibilidade
Para definir o preço e a disponibilidade de uma categoria de quarto, use um elemento <RoomBundle>
em
uma mensagem de transação para cada pacote ou combinação de itinerário. O elemento
<RoomBundle>
precisa estar dentro do elemento <Result>
. Um exemplo de código
para dois elementos <RoomBundle>
é mostrado. Neste exemplo, os dois elementos <RoomBundle>
fazem referência aos metadados da sala e do pacote usando <RoomID>
e <PackageID>
.
Para cada <Result>
, o conjunto contido de pacotes do Room substitui o
conjunto existente para essa propriedade ou combinação de itinerário. Se você não definir nenhum pacote de quartos ou recurso de tarifa no elemento <Result>
, todos os pacotes de quartos serão removidos, e apenas o quarto básico do hotel ou itinerário vai aparecer nos resultados da pesquisa.
Use elementos como <Name>
para tornar seus pacotes de quartos mais atraentes para clientes em potencial e verifique se eles correspondem à página de destino do hotel. Neste exemplo, você definiria nomes e outras informações descritivas nos metadados.
<RatePlanID>
é opcional e representa o identificador exclusivo de uma combinação de quarto e pacote. Recomendamos usar RatePlanID
como uma variável para
criar o URL dinâmico da página de destino (antigo ponto de venda). Para ter o melhor desempenho, ele precisa ter até 50 caracteres. Para detalhes, consulte
Como usar variáveis e condições.
Os seguintes elementos são opcionais nos pacotes de quartos:
<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>
Ao implementar o pacote do Room em uma conta ativa, remova o <Baserate>
depois que o pacote for ativado.
<Result>
<!-- Note: When using Room Bundles, the top level result price is no
longer necessary. -->
<Property>180054</Property>
<Checkin>2017-10-07</Checkin>
<Nights>2</Nights>
<!-- Base Room Bundle -->
<RoomBundle>
<RoomID>060773</RoomID>
<PackageID>P54321</PackageID>
<Baserate currency="USD">199.99</Baserate>
<Tax currency="USD">25.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<!-- RatePlanID is optional and represents the unique identifier for a
room and package data combination. We strongly recommend using RatePlanID
as a variable to build your dynamic landing page (formerly Point of Sale)
URL. For details, see Using Variables and Conditions. -->
<RatePlanID>060773-P54321</RatePlanID>
</RoomBundle>
<!-- Premium Room Bundle -->
<RoomBundle>
<RoomID>436233</RoomID>
<PackageID>P12345</PackageID>
<!-- Price for 4 ("occupancy") -->
<Baserate currency="USD">298.88</Baserate>
<Tax currency="USD">42.12</Tax>
<OtherFees currency="USD">10.00</OtherFees>
<RatePlanID>436233-P12345</RatePlanID>
</RoomBundle>
</Result>
Definir metadados de pacote e sala
Para definir metadados do pacote de quartos, use os elementos <PackageData>
e <RoomData>
dentro do elemento <PropertyDataSet>
de uma mensagem de transação.
Você define os metadados de quarto e pacote em uma mensagem de transação separada dos dados de preços e disponibilidade. Ao definir esses dados com antecedência, suas atualizações de preços não precisam incluir informações repetitivas, como descrições, URLs de fotos, comodidades e outros dados sobre cada quarto ou pacote para cada itinerário.
O Google armazena os metadados para você e os insere nos seus anúncios quando eles são veiculados. É possível atualizar os metadados de sala e pacote a qualquer momento com uma nova mensagem de transação.
Na mensagem de transação, você define um ID de pacote e um ID de quarto em cada bloco
que é referenciado nos blocos <Result>
de atualizações de preços.
Se os dados de quarto e pacote mudarem (por exemplo, se você adicionar um novo tipo de quarto em uma propriedade ou enviar uma nova mensagem de transação que contenha os dados atualizados de quarto e pacote), o Google vai substituir os metadados atuais sobre um quarto ou pacote pelos novos dados.
O Google recomenda que você defina os metadados durante a configuração inicial. Depois de
pré-definir os metadados, basta referenciar os valores <RoomID>
e
<PackageID>
nas suas atualizações de
preços em vez de incluir todas
essas informações novamente. O Google usa esses IDs para corresponder quartos e pacotes de quartos
com os metadados armazenados. Isso pode reduzir muito o tamanho geral das suas mensagens de transação.
Como os preços das combinações de quarto ou itinerário mudam com muito mais frequência do que as descrições de quarto ou pacote, definir metadados uma vez e depois se referir a eles é um uso muito mais eficiente das mensagens de transação. Além disso, erros como descrições de sala incompatíveis podem ser eliminados usando metadados em vez de definir dados inline.
Confira abaixo o método recomendado e mais eficiente para definir metadados e preços separadamente:
<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>
<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
<!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
<!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
<!-- PropertyDataSets can also be defined and sent in their own Transaction Message -->
<!-- separately from pricing. Google can be configured to pull just PropertyDataSets -->
<!-- once per day (or on a predefined frequency). -->
<PropertyDataSet>
<Property>180054</Property>
<!-- Can be reused by multiple Room Bundles -->
<RoomData>
<RoomID>060773</RoomID>
<Name>
<Text text="Single Queen Room - Non-Smoking" language="en"/>
<Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
</Name>
<!-- Room can accommodate 4, but bundle is for 2 -->
<Capacity>4</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
<Caption>
<Text text="A bright and breezy way to enjoy your mornin'
cuppa tea." language="en"/>
<Text text="Une façon lumineuse et aérée pour profiter
de votre journée tasse de thé." language="fr"/>
</Caption>
</PhotoURL>
</RoomData>
<RoomData>
<RoomID>436233</RoomID>
<Name>
<Text text="Premium King Room - Non-Smoking" language="en"/>
<Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
</Name>
<!-- Room can accommodate 4 and bundle is for 4 -->
<Capacity>4</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
<Caption>
<Text text="A bright and breezy way to enjoy your mornin'
cuppa tea." language="en"/>
<Text text="Une façon lumineuse et aérée pour profiter
de votre journée tasse de thé." language="fr"/>
</Caption>
</PhotoURL>
</RoomData>
<!-- Can be reused by multiple Room Bundles -->
<PackageData>
<PackageID>P54321</PackageID>
<Occupancy>2</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
<PackageData>
<PackageID>P12345</PackageID>
<Occupancy>4</Occupancy>
<ChargeCurrency>web</ChargeCurrency>
<Refundable available="1" refundable_until_days="1"
refundable_until_time="18:00:00"/>
<BreakfastIncluded/>
<ParkingIncluded>1</ParkingIncluded>
<InternetIncluded>1</InternetIncluded>
</PackageData>
</PropertyDataSet>
<!-- Efficient method of defining Room Bundles -->
<!-- Part 2: Reference RoomData and PackageData through ID -->
<Result>
<Property>180054</Property>
<Checkin>2017-10-07</Checkin>
<Nights>2</Nights>
<!-- Base Room Bundle -->
<RoomBundle>
<RoomID>060773</RoomID>
<PackageID>P54321</PackageID>
<Baserate currency="USD">199.99</Baserate>
<Tax currency="USD">25.12</Tax>
<OtherFees currency="USD">2.00</OtherFees>
<!-- RatePlanID is optional and represents the unique identifier for a
room and package data combination. We strongly recommend using RatePlanID
as a variable to build your dynamic landing page (formerly Point of Sale)
URL. For details, see Using Variables and Conditions. -->
<RatePlanID>060773-P54321</RatePlanID>
</RoomBundle>
<!-- Premium Room Bundle -->
<RoomBundle>
<RoomID>436233</RoomID>
<PackageID>P12345</PackageID>
<!-- Price for 4 ("occupancy") -->
<Baserate currency="USD">298.88</Baserate>
<Tax currency="USD">42.12</Tax>
<OtherFees currency="USD">10.00</OtherFees>
<RatePlanID>060773-P12345</RatePlanID>
</RoomBundle>
<!-- Continue providing all available RoomBundle rates under matched
property for any other occupancies -->
</Result>
</Transaction>
Ocupação e capacidade
Ao definir pacotes de quartos, é importante entender a diferença entre ocupação e capacidade:
- Ocupação
- O número de hóspedes de uma categoria de quarto. Por exemplo, o "Pacote lua de mel" tem uma ocupação de duas pessoas. Para definir o valor da ocupação de um pacote, use o elemento filho
<Occupancy>
dos elementos<PackageData>
ou<RoomBundle>
. - Capacidade
- O número máximo de pessoas que uma sala pode acomodar fisicamente. A capacidade de um quarto é sempre igual ou maior que a ocupação. Por exemplo, a "Suíte de lua de mel" do seu hotel tem capacidade máxima para seis pessoas, mas você define o preço de um pacote para dois hóspedes. Você define o valor da capacidade de um pacote usando o elemento filho
<Capacity>
do elemento<RoomData>
.
Ao definir o preço de um pacote de quarto, você precisa informar o valor para o número de hóspedes
a que o pacote se destina (o valor especificado no elemento
<Occupancy>
do pacote). Se <Occupancy>
for definido como "dois", o preço do pacote será para duas pessoas. Não é possível definir <Occupancy>
para quatro hóspedes e
definir o preço do pacote para dois hóspedes.
Salas compartilhadas
Você também usa ocupação e capacidade em pacotes de quartos para definir preços de acomodações compartilhadas, como albergues. Por exemplo, para definir um preço por pessoa para um quarto de dormitório com oito camas, defina a ocupação como 1
e a capacidade como 8
, identificando-o como tal no nome <RoomData>
. Confira
um exemplo.
Atualizar categorias de quarto
Esta seção descreve como remover um pacote de quarto que não está mais disponível e como atualizar o preço de um pacote de quarto existente.
Remoção de categoria de quarto
Os pacotes de quartos são diferentes dos preços de hotéis na forma de remoção.
Para remover uma combinação de quarto ou itinerário do inventário, defina o <Baserate>
do elemento <Result>
como -1
. Para remover um pacote de quarto de um
quarto ou itinerário específico, remova o elemento <RoomBundle>
do
bloco <Result>
na mensagem de transação.
Os pacotes de quartos nos seus feeds de dados são considerados um conjunto, que pode ter de 0 a dezenas de itens. Ao enviar pacotes de sala para o Google, você envia o conjunto completo e atual. Não é possível mudar os valores de uma categoria de quarto individual para marcar uma opção disponível anteriormente como indisponível. O conjunto de pacotes na mensagem de transação mais recente substitui o conjunto atual.
Por exemplo, há os pacotes A, B, C e D. Primeiro, envie uma mensagem que defina o conjunto de pacotes de salas A, B, C e D. Depois, se o pacote B esgotar, envie novamente o conjunto inteiro com apenas os pacotes A, C e D. Se todas as categorias de quartos estiverem esgotadas, envie um conjunto vazio de categorias de quartos.
Ajustes de preço
Para mudar o preço de um pacote de quartos, defina o novo <Baserate>
no elemento <Result>
.
Sempre que você atualizar o bloco <Result>
de um quarto/itinerário nas mensagens de
transação, inclua um conjunto completo de pacotes de quartos disponíveis para cada
<Result>
. O Google substitui o conjunto atual de pacotes de sala pelo novo conjunto. Se você não incluir nenhuma categoria de quarto em <Result>
, o Google vai remover todas as categorias de quarto para esse quarto ou itinerário.
Atualizações de metadados
Você atualiza os metadados do pacote de sala com uma resposta a um <Query>
do Google.
Você responde a uma mensagem de consulta com uma mensagem de transação que define os metadados de quarto e pacote para os hotéis especificados. Para mais informações, consulte Query Messages.