Solicitações
Sintaxe
A mensagem Transaction (Property Data)
usa a seguinte sintaxe:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
id="message_ID"
partner="partner_key">
<PropertyDataSet action="[overlay|delta]">
<!-- (Required) ID that matches the Hotel List Feed -->
<Property>HotelID</Property>
<RoomData>
<!-- (Required) One room ID per RoomData element -->
<RoomID>RoomID</RoomID>
<Name>
<Text text="room_name" language="language_code"/>
</Name>
<Description>
<Text text="room_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the rate plans allowed for this room type to
those listed here. If specified, don't specify AllowableRoomIDs. -->
<AllowablePackageIDs>
<AllowablePackageID>PackageID</AllowablePackageID>
</AllowablePackageIDs>
<Capacity>max_number_of_occupants</Capacity>
<AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
<ChildCapacity>max_number_of_child_occupants</ChildCapacity>
<OccupancySettings>
<MinOccupancy>min_number_of_occupants</MinOccupancy>
<MinAge>min_age_of_occupants</MinAge>
</OccupancySettings>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
</Caption>
<URL>photo_location</URL>
</PhotoURL>
<RoomFeatures>
<JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
<Beds>
<Bed size="[single|semi_double|double|queen|king]">
<Width unit="cm" number="bed_width"/>
<Length unit="cm" number="bed_length"/>
</Bed>
<!-- Include with any additional beds. -->
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>[shared|private]</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>[smoking|non_smoking]</Smoking>
<BathAndToilet relation="[together|separate]">
<Bath bathtub="[false|true]" shower="[false|true]"/>
<Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<!-- (Optional) Defines the type of views from the room. -->
<!-- Example: <OceanView/> -->
</Views>
</RoomFeatures>
</RoomData>
<PackageData>
<!-- (Required) One package ID per PackageData element -->
<PackageID>PackageID</PackageID>
<Name>
<Text text="package_name" language="language_code"/>
</Name>
<Description>
<Text text="package_description" language="language_code"/>
</Description>
<!-- (Optional) Restricts the room types allowed for this rate plan to
those listed here. If specified, don't specify AllowablePackageIDs. -->
<AllowableRoomIDs>
<AllowableRoomID>RoomID</AllowableRoomID>
</AllowableRoomIDs>
<Refundable available="[false|true]" refundable_until_days="number_of_days"
refundable_until_time="time"/>
<!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
<BreakfastIncluded>boolean_value</BreakfastIncluded>
<InternetIncluded>boolean_value</InternetIncluded>
<ParkingIncluded>boolean_value</ParkingIncluded>
<PhotoURL>
<Caption>
<Text text="photo_description" language="language_code"/>
...
</Caption>
<URL>photo_location</URL>
</PhotoURL>
...
<Meals>
<Breakfast
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
<Dinner
included="[true|false]" buffet="[true|false]"
in_room="[true|false]" in_private_space="[true|false]"/>
</Meals>
<CheckinTime>checkin_time</CheckinTime>
<CheckoutTime>checkout_time</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
Elementos e atributos
A mensagem "Transaction (Property Data)" tem os seguintes elementos e atributos:
Elemento / @Attribute | Ocorrências | Tipo | Descrição |
---|---|---|---|
Transaction | 1 | Complex element | Em uma implementação de ARI, esse é o elemento raiz de uma mensagem que define tipos de quarto e pacotes para uma única propriedade. |
Transaction / @timestamp | 1 | DateTime | A data e a hora de criação da mensagem. |
Transaction / @id | 1 | string | Um identificador exclusivo para essa mensagem de solicitação. Esse valor é retornado na mensagem de resposta. Os caracteres permitidos são a-z, A-Z, 0-9, _ (sublinhado) e - (traço). |
Transaction / @partner | 1 | string | A conta do parceiro para esta mensagem. Esse valor de string é o valor da "chave do parceiro" listado na
página "Configurações da conta" da Central para Hotéis.
Observação:se você tiver um back-end que fornece feeds para várias contas, esse valor precisa corresponder ao valor do atributo |
Transaction / PropertyDataSet | 1.. | PropertyDataSet | Um contêiner para definir tipos de quartos e pacotes de uma única propriedade. |
Transaction / PropertyDataSet / @action | 0..1 | enum | O tipo de atualização a ser aplicado às definições de tarifa do quarto. Os valores válidos são:
Esse atributo é opcional e o padrão é |
Transaction / PropertyDataSet / Property | 1 | string | O identificador exclusivo da propriedade. Esse valor precisa corresponder ao ID do hotel especificado usando
<id> no elemento <listing>
no feed de lista de hotéis. O ID do hotel também está listado na Central para Hotéis. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | Descreve uma sala. Observação: é necessário incluir pelo menos uma das seguintes propriedades: |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | Um identificador exclusivo de um tipo de quarto. Esse valor é referenciado usando
o atributo InvTypeCode no elemento
<StatusApplicationControl> nas mensagens
<OTA_HotelAvailNotifRQ> ,
<OTA_HotelRateAmountNotifRQ> e
<OTA_HotelInvCountNotifRQ> . |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | Contêiner para o nome da categoria do ambiente em um ou mais idiomas. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | Especifica o nome da categoria de sala em um idioma. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | O nome da categoria de quarto no idioma especificado pelo atributo language . |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | Contêiner para a descrição da categoria de quarto em um ou mais idiomas. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | Especifica a descrição da categoria de sala em um idioma. |
Transaction / PropertyDataSet / RoomData / Description / Text / @text | 1..n | string | A descrição da categoria do quarto no idioma especificado pelo atributo language . |
Transaction / PropertyDataSet / RoomData / Description / Text / @language | 1..n | string | Um código de idioma de duas letras. |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs | 0..1 | AllowablePackageIDs | Um contêiner para elementos <AllowablePackageID> .
Se Se Use |
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | Especifica o PackageID de um plano de tarifa que pode ser combinado com esse
tipo de quarto. Um plano de tarifas é definido por uma combinação de
pacote, tarifas e disponibilidade. O PackageID
corresponde ao RatePlanCode nas
mensagens OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ.
|
Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | O número máximo de adultos e crianças que um quarto pode
acomodar fisicamente. Ele precisa ser maior ou igual a
todos os valores de NumberOfGuests enviados com as tarifas.
O valor de Observação:se |
Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | O número máximo de adultos que um quarto pode acomodar
fisicamente. O valor precisa ser maior ou igual a qualquer valor de NumberOfGuests enviado com as tarifas.
O valor de |
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | O número máximo de crianças que um quarto pode acomodar
fisicamente.
O valor de |
Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | Configurações que podem restringir ou modificar os requisitos de ocupação de uma
sala.
O elemento
<OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> Nem todos os elementos filhos precisam ser incluídos. |
Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | Um URL e uma legenda opcional para uma foto do quarto ou da categoria de quarto. É possível especificar mais de um <PhotoURL>
para um ambiente ou pacote de ambientes.
Esse elemento usa os seguintes elementos filhos:
<PhotoURL> <URL>http://www.example.com/image1.jpg</URL> <Caption> <Text text="A bright way to enjoy your mornin' cuppa tea." language="en"/> <Text text="Une façon lumineuse pour profiter de votre tasse de thé." language="fr"/> </Caption> </PhotoURL> |
Transaction / PropertyDataSet / RoomData / RoomFeatures | 0..1 | <RoomFeatures> |
Contém informações sobre os recursos do ambiente. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle | 0..1 | enum | Indica o estilo de um quarto de hotel japonês. Os valores válidos são:
|
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | Contém o mesmo número de <Bed> que o espaço tem. Os futons japoneses não devem ser contados aqui.
Cada
<Bed> tem os seguintes elementos filhos:
<Beds> <Bed size="double"> <Width unit="cm" number="140"/> <Length unit="cm" number="195"/> </Bed> <Bed/> <!-- Size unknown --> </Beds> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite | 0.. | enum | Forneça esse elemento quando o quarto for uma suíte. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | Forneça esse elemento quando o quarto for uma cápsula. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | Se o espaço é compartilhado com outros ocupantes, como proprietários
ou outros convidados. Os valores válidos são: shared e private . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor | 0..1 | enum | Inclua esse elemento quando o quarto for uma acomodação ao ar livre que não tem paredes fixas, encanamento e controle de temperatura. Por exemplo, os quartos de hotel não são hospedagens a céu aberto, enquanto os acampamentos com tendas e os estacionamentos para trailers dos próprios visitantes são hospedagens a céu aberto. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | Informe esse elemento quando o quarto for acessível a pessoas com mobilidade reduzida. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | Se o quarto é para fumantes ou não. Os valores
válidos são non_smoking e smoking . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | Contém informações sobre um banheiro e um vaso sanitário no quarto.
O atributo é:
Opcionalmente, o elemento usa os seguintes elementos filhos:
Exemplo: <BathAndToilet relation="separate"> <Bath bathtub="1" shower="1"/> <Toilet electronic_bidet="1" mobility_accessible="1"/> </BathAndToilet> |
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath | 0..1 | enum | Inclua esse elemento quando o quarto tiver um banheiro privativo ao ar livre. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | Forneça esse elemento quando o quarto tiver ar-condicionado. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | Informe esse elemento quando o quarto tiver uma sacada ou varanda. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views | 0..1 | Object | As opções válidas incluem:
|
Transaction / PropertyDataSet / PackageData | 0..n | PackageData | Contêiner para elementos que descrevem recursos e termos de tarifas que não fazem parte da descrição física do quarto. Observação: é necessário incluir pelo menos uma das seguintes propriedades: |
Transaction / PropertyDataSet / PackageData / PackageID | 1 | string | PackageID nessas mensagens corresponde a RatePlanCode nas mensagens OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ. |
Transaction / PropertyDataSet / PackageData / Name | 1 | Name | Contêiner para o nome do pacote em um ou mais idiomas. |
Transaction / PropertyDataSet / PackageData / Name / Text | 1..n | Text | Especifica o nome do pacote em um idioma. |
Transaction / PropertyDataSet / PackageData / Name / Text / @text | 1..n | string | O nome do pacote no idioma especificado pelo
atributo language . |
Transaction / PropertyDataSet / PackageData / Description | 1 | Description | Contêiner para a descrição do pacote em um ou mais idiomas. |
Transaction / PropertyDataSet / PackageData / Description / Text | 1..n | Text | Especifica a descrição do pacote em um idioma. |
Transaction / PropertyDataSet / PackageData / Description / Text / @text | 1..n | string | A descrição do pacote no idioma especificado pelo
atributo language . |
Transaction / PropertyDataSet / PackageData / Description / Text / @language | 1..n | string | Um código de idioma de duas letras. |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs | 0..1 | AllowableRoomIDs | Um contêiner para elementos <AllowableRoomID> .
Se Se Use |
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | Especifica o RoomID de um tipo de quarto que pode ser combinado com esse
plano de tarifa. Um tipo de quarto é definido em um elemento
<RoomData> .
|
Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | Permite listar uma tarifa como totalmente reembolsável ou cancelável. Se não forem fornecidos, nenhuma informação sobre o reembolso será exibida.
Observação:recomendamos definir todos os atributos. Uma mensagem de aviso de status do feed é gerada quando um ou mais atributos não são definidos. Se você não definir nenhum atributo, a tarifa não vai aparecer como reembolsável. Ao definir os atributos, observe o seguinte:
|
Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (Obrigatório) Defina como 1 ou
true para indicar se a tarifa permite um reembolso
total. Caso contrário, defina como 0 ou false . |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | (Obrigatório se
available for true ) Especifica
o número de dias de antecedência ao check-in em que um reembolso total pode ser
solicitado. O valor de refundable_until_days
precisa ser um número inteiro entre 0 e 330. |
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | (Altamente recomendado se
available for true ) Especifica
o horário mais recente, no horário local do hotel, em que uma solicitação de reembolso
total será atendida. Isso pode ser combinado com
refundable_until_days para especificar, por
exemplo, que "os reembolsos estão disponíveis até as 16h dois dias antes do
check-in". Se refundable_until_time não for definido, o valor
padrão será meia-noite. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | Especifica se o tipo de quarto inclui café da manhã.
Os valores válidos são 0 (ou false ) e 1
(ou true ).
É recomendável usar |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | Horário de check-in mais cedo possível no horário local do hotel. O horário precisa ser menor que 24:00. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | Horário de check-out mais tarde possível no horário local do hotel. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | Especifica se o quarto inclui acesso à Internet sem custo financeiro,
enquanto outros quartos não incluem essa comodidade. Não defina esse elemento em um hotel que oferece Internet gratuita em todos os quartos. Esse elemento
não se aplica à Internet com ou sem fio no quarto que não está
disponível nos quartos. Os valores válidos são 0 (ou
false ) e 1 (ou true ).
|
Transaction / PropertyDataSet / PackageData / Meals | 0..1 | Object | Contém informações sobre as refeições deste pacote.
O elemento
Os atributos opcionais são usados apenas quando Para que os filtros de refeição ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | Se um quarto inclui estacionamento sem custo financeiro, em que
o estacionamento seria um serviço pago nesse hotel. Não especifique
um valor para esse elemento em um hotel que oferece estacionamento gratuito.
Os valores válidos são 0 (ou false ) e
1 (ou true ). O valor padrão é
false .
|
Transaction / PropertyDataSet / PackageData / PhotoURL | 0..1 | Object | O mesmo que <PhotoURL> em <RoomData> ,
mas para o pacote (por exemplo, fotos de refeições).
|
Exemplos
Dados do quarto e do pacote
Confira a seguir um exemplo básico de como definir os dados de quarto e
pacote de uma propriedade em uma mensagem de transação (dados da propriedade). O atributo overlay
é usado para garantir que, se algum dado já existir inesperadamente,
todos os dados atuais sejam excluídos e substituídos pelos dados desta mensagem:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Description>
<Text text="Room with a king bed" language="en"/>
</Description>
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a king bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</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>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<Description>
<Text text="Free breakfast rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Adicionar um tipo de sala
Confira a seguir um exemplo de como adicionar um tipo de quarto e um pacote aos dados <Transaction>
:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_3</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_3</PackageID>
<Name>
<Text text="Non-Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="false"/>
</PackageData>
</PropertyDataSet>
</Transaction>
Remover tipos de sala
Confira a seguir um exemplo de como remover tipos de quartos e
pacotes. Nesse cenário, se as mensagens em "Dados do pacote e do quarto"
e "Adicionar um tipo de quarto" tivessem sido enviadas ao Google anteriormente, os tipos de quarto King
e
Double
não existiriam mais quando o Google recebesse a mensagem
mostrada. A remoção dos dados do pacote afeta o plano de tarifas geral, conforme definido nas mensagens Transaction (Property Data), OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ
(ao referenciar o mesmo valor de PackageID
). Portanto, as atualizações correspondentes que usam os outros tipos de mensagem podem ser necessárias para refletir que PackageID_2
e PackageID_3
não são mais definidos aqui.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
<Capacity>2</Capacity>
<PhotoURL>
<URL>http://www.foo.com/static/bar/image.jpg</URL>
<Caption>
<Text text="Room with a queen bed" language="en"/>
</Caption>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Refundable" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Restringir planos de tarifas
Confira abaixo um exemplo de como usar o elemento <AllowablePackageIDs>
para restringir os planos de tarifas permitidos para um tipo de quarto. Neste exemplo,
o tipo de quarto Queen
(RoomID_2
) só pode ser combinado com o pacote e
o plano de tarifas identificado como PackageID_1.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>RoomID_2</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<AllowablePackageIDs>
<AllowablePackageID>PackageID_1</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<PackageData>
<PackageID>PackageID_2</PackageID>
<Name>
<Text text="Free Breakfast" language="en"/>
</Name>
<!-- Additional PackageData child elements omitted. -->
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>1</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
</Transaction>
Restringir a capacidade da sala
Confira a seguir um exemplo de como usar os elementos <Capacity>
, <AdultCapacity>
e <ChildCapacity>
para definir restrições nas capacidades dos quartos.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<Name>
<Text text="Double" language="en"/>
</Name>
<Capacity>4</Capacity>
<AdultCapacity>4</AdultCapacity>
<ChildCapacity>3</ChildCapacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
</Transaction>
O tipo de quarto duplo (RoomID_1) pode ter até 4 hóspedes no total. Além disso, ele pode ter até quatro adultos e até três crianças. Todos os três requisitos de capacidade precisam ser atendidos para que a sala possa ser reservada. Essa configuração é representativa de um quarto típico com duas camas para duas pessoas. A capacidade de crianças é menor do que a capacidade total porque o quarto precisa ter pelo menos um adulto.
Exemplos estendidos com <RoomFeatures>
e refeições
JapaneseHotelRoomStyle
não tem um valor padrão.
Omitir um valor não resulta em um erro de XML, mas sua listagem não é
mostrada nos resultados da pesquisa quando o usuário filtra por estilo de quarto ou camas.
Duas camas de solteiro
O exemplo a seguir mostra como usar <RoomFeatures>
:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two single beds -->
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
<Bed size="single">
<Width unit="cm" number="97"/>
<Length unit="cm" number="195"/>
</Bed>
</Beds>
<Suite/>
<Capsule/>
<Roomsharing>private</Roomsharing>
<Outdoor/>
<MobilityAccessible/>
<Smoking>non_smoking</Smoking>
<BathAndToilet relation="separate">
<Bath bathtub="1" shower="1"/>
<Toilet electronic_bidet="1" mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath/>
<AirConditioning/>
<Balcony/>
<Views>
<LakeView/>
<MarinaView/>
<BeachView/>
<ForestView/>
<MountainView/>
<NatureView/>
</Views>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Duas camas de casal
Confira a seguir um exemplo de quarto estilo western
com duas
camas double
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
<Beds> <!-- Two double beds-->
<Bed size="double"></Bed>
<Bed size="double"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Estilo japonês sem cama
Confira a seguir um exemplo de quarto de estilo japonês sem cama. As informações sobre a cama não são necessárias para o estilo de quarto japanese
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Quarto japonês-ocidental com cama
Confira a seguir um exemplo de quarto estilo japanese_western
com cama
de tamanho king
.
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
<Beds>
<Bed size="king"></Bed>
</Beds>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Se o parceiro não tiver informações sobre o número de camas nos quartos japanese_western
, consulte o exemplo a seguir:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<RoomData>
<RoomID>RoomID_1</RoomID>
<RoomFeatures>
<JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
</RoomFeatures>
</RoomData>
</PropertyDataSet>
</Transaction>
Refeições
O exemplo a seguir define os metadados do quarto e do pacote para refeições, fotos e horários de check-in e check-out:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Meals Included" language="en"/>
</Name>
<PhotoURL>
<Caption>
<Text text="Breakfast" language="en"/>
<Text text="朝食" language="ja"/>
</Caption>
<URL>http://example.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Meals>
<!-- Guests can choose to have breakfast in their room or in another
space to avoid contact with other guests. -->
<Breakfast included="1" in_room="1" in_private_space="1"/>
<Dinner included="1" buffet="1"/>
</Meals>
<CheckinTime>15:00</CheckinTime>
<CheckoutTime>11:00</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
Somente café da manhã
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
<PropertyDataSet>
<Property>1234</Property>
<PackageData>
<PackageID>PackageID_1</PackageID>
<Name>
<Text text="Breakfast Included" language="en"/>
</Name>
<PhotoURL>
<Caption>
<Text text="Breakfast" language="en"/>
<Text text="朝食" language="ja"/>
</Caption>
<URL>http://example.com/static/bar/image1234.jpg</URL>
</PhotoURL>
<Meals>
<Breakfast included="true"/>
<!-- Dinner not included needs to be explicitly specified -->
<Dinner included="false"/>
</Meals>
<CheckinTime>15:00</CheckinTime>
<CheckoutTime>11:00</CheckoutTime>
</PackageData>
</PropertyDataSet>
</Transaction>
Respostas
Sintaxe
A mensagem TransactionResponse (Property Data)
usa a seguinte sintaxe:
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
id="message_ID"
partner="partner_key">
<!-- Either Success or Issues will be populated. -->
<Success/>
<Issues>
<Issue code="issue_code" status="issue_type">issue_description</Issue>
</Issues>
</TransactionResponse>
Elementos e atributos
A mensagem TransactionResponse (Property Data)
tem os seguintes
elementos e atributos:
Elemento / @Attribute | Ocorrências | Tipo | Descrição |
---|---|---|---|
TransactionResponse | 1 | Complex element | O elemento raiz que indica o sucesso ou os problemas de uma mensagem de solicitação de transação recebida. |
TransactionResponse / @timestamp | 1 | DateTime | A data e a hora de criação da mensagem. |
TransactionResponse / @id | 1 | string | O identificador exclusivo da mensagem de transação associada. |
TransactionResponse / @partner | 1 | string | A conta do parceiro para esta mensagem. |
TransactionResponse / Success | 0..1 | Success | Indica que a mensagem de transação foi processada
sem avisos, erros ou falhas.
|
TransactionResponse / Issues | 0..1 | Issues | Um contêiner para um ou mais problemas encontrados durante o processamento da
mensagem de transação.
|
TransactionResponse / Issues / Issue | 1..n | Issue | A descrição de um aviso, erro ou falha encontrada durante o processamento da mensagem de transação. Confira os detalhes sobre esses problemas em Mensagens de erro de status do feed. |
TransactionResponse / Issues / Issue / @code | 1 | integer | O identificador do problema. |
TransactionResponse / Issues / Issue / @status | 1 | enum | O tipo de problema encontrado. Os valores válidos são |
Exemplos
Sucesso
Confira a seguir uma resposta para uma mensagem de transação processada.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
Problemas
Confira a seguir uma resposta a uma mensagem de transação não processada devido a erros.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Issues>
<Issue code="1001" status="error">Example</Issue>
</Issues>
</TransactionResponse>