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 de transação (dados da propriedade) 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 quartos 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. O valor da string é o valor da "Chave do parceiro" listado na
página "Configurações da conta" da Central para Hotéis.
Observação:se você tem 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 para uma única propriedade. |
Transaction / PropertyDataSet / @action | 0..1 | enum | O tipo de atualização a ser aplicado às definições das diárias. Os valores válidos são:
Esse atributo é opcional, e o padrão será |
Transaction / PropertyDataSet / Property | 1 | string | O identificador exclusivo da propriedade. Esse valor precisa corresponder ao ID de hotel especificado com
<id> no elemento <listing> no feed de lista de hotéis. O ID do hotel também aparece na Central para Hotéis. |
Transaction / PropertyDataSet / RoomData | 0..n | RoomData | Descreve uma sala. Observação: é necessário incluir pelo menos |
Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | Um identificador exclusivo para um tipo de quarto. Esse valor é referenciado usando
o atributo InvTypeCode no elemento
<StatusApplicationControl> nas
mensagens <OTA_HotelAvailNotifRQ> e
<OTA_HotelRateAmountNotifRQ> . |
Transaction / PropertyDataSet / RoomData / Name | 1 | Name | Contêiner do nome da categoria do quarto em um ou mais idiomas. |
Transaction / PropertyDataSet / RoomData / Name / Text | 1..n | Text | Especifica o nome da categoria do quarto em um idioma. |
Transaction / PropertyDataSet / RoomData / Name / Text / @text | 1..n | string | O nome da categoria do quarto no idioma especificado pelo atributo language . |
Transaction / PropertyDataSet / RoomData / Description | 1 | Name | Contêiner da descrição da categoria do quarto em um ou mais idiomas. |
Transaction / PropertyDataSet / RoomData / Description / Text | 1..n | Text | Especifica a descrição da categoria do quarto 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 este
tipo de quarto. Um plano de tarifa é definido por uma combinação de
pacote, taxas 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 aos
valores 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. Ele precisa ser maior ou igual aos
valores NumberOfGuests enviados com as tarifas.
O valor de |
Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | O número máximo de filhos 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 de um determinado quarto ou Categoria de quarto. Você pode especificar mais de um <PhotoURL> para um quarto ou Categoria de quarto.
Esse elemento assume os seguintes elementos-filho:
<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 as funcionalidades da sala. |
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 a mesma quantidade de <Bed> que a sala. 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 este elemento quando o quarto for uma suíte. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule | 0..1 | enum | Informe esse elemento quando o cômodo for uma sala-cápsula. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing | 0..1 | enum | Se esta sala é compartilhada 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 | Forneça esse elemento quando o quarto for um ambiente externo sem paredes fixas, encanamento e controle de temperatura. Por exemplo, os quartos de hotel não são hospedagem ao ar livre, enquanto os acampamentos em que os hóspedes ficam em barracas e parques de trailers onde os hóspedes trazem os próprios trailers são acomodações ao ar livre. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible | 0..1 | enum | Forneça este elemento quando o quarto tiver acessibilidade. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking | 0..1 | enum | Indica se o quarto é para não fumantes ou para fumantes. Os valores
válidos são non_smoking e smoking . |
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | Inclui informações sobre uma banheira e um banheiro no quarto.
O atributo é:
Opcionalmente, o elemento pode ter 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 | Forneça esse elemento quando o quarto tiver uma banheira privativa ao ar livre. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning | 0..1 | enum | Informe este elemento quando este quarto tiver ar-condicionado. |
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony | 0..1 | enum | Forneça esse elemento quando este 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 as características e os termos da tarifa que não fazem parte da descrição física do quarto. Observação: é necessário incluir pelo menos |
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 uma ou mais linguagens. |
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 este
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 for fornecido, nenhuma informação sobre um reembolso será exibida.
Observação:recomendamos configurar todos os atributos. Uma mensagem de aviso de status do feed é gerada quando um ou mais atributos não estão definidos. Se você não definir atributos, a taxa não 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 taxa 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 do check-in para solicitar um
reembolso total. 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 a hora mais recente, no horário local do hotel, em que uma solicitação
de reembolso total será atendida. 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 será definido como meia-noite por padrão. |
Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | Especifica se este tipo de quarto inclui café da manhã.
Os valores válidos são 0 (ou false ) e 1
(ou true ).
É preferível usar |
Transaction / PropertyDataSet / PackageData / CheckinTime | 0..1 | Time | Horário de check-in mais próximo possível no horário local do hotel. A hora precisa ser menor que 24h. |
Transaction / PropertyDataSet / PackageData / CheckoutTime | 0..1 | Time | Horário mais recente possível de check-out no horário local do hotel. |
Transaction / PropertyDataSet / PackageData / InternetIncluded | 0..1 | boolean | Especifica se o quarto inclui acesso sem custo financeiro à Internet,
enquanto outros quartos não incluem esta comodidade. Não defina este elemento em um hotel que oferece Internet gratuita para todos os quartos. Esse elemento
não se aplica à Internet com fio no quarto ou à Internet sem fio
que não esteja disponível nos quartos de hóspedes. 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 refeições neste pacote.
O elemento
Os atributos opcionais são usados somente quando Para que os filtros de refeições ( |
Transaction / PropertyDataSet / PackageData / ParkingIncluded | 0..1 | boolean | Se um quarto inclui estacionamento sem custo financeiro, quando o estacionamento seria um serviço pago neste hotel. Não especifique um valor para esse elemento para 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 de quartos e pacotes
Confira a seguir um exemplo básico de como definir os dados de quartos e pacotes de uma propriedade em uma mensagem de transação (dados da propriedade). O atributo
overlay
é usado para garantir que, caso algum dado já exista inesperadamente,
todos os dados atuais serão 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>
Adicione um tipo de quarto
Confira abaixo um exemplo de como adicionar um tipo de quarto e um pacote aos
dados do <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 quarto
Confira abaixo um exemplo de como remover pacotes e tipos de quarto. Nesse cenário, se as mensagens em "Dados de quartos e pacotes"
e "Adicionar um tipo de quarto" já tivessem sido enviadas ao Google, os tipos de quarto King
e
Double
não existirão mais quando o Google receber a mensagem
mostrada. A remoção de dados de pacote afeta o plano de tarifas geral, conforme definido nas mensagens de transação (dados da propriedade), OTA_HotelRateAmountNotifRQ e OTA_HotelAvailNotifRQ
(fazendo referência ao mesmo valor 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 estã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 a seguir 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 identificados 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 às capacidades de 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 de casal (RoomID_1) pode ter até quatro hóspedes. Além disso, pode ter até 4 adultos e 3 crianças. Os três requisitos de capacidade precisam ser atendidos para que essa sala possa ser reservada. Essa configuração representa um quarto típico com duas camas, que cabem duas pessoas em cada uma. A capacidade das crianças é um a menos que a capacidade total porque a sala precisa ter pelo menos um adulto presente.
Exemplos estendidos com <RoomFeatures>
e refeições
JapaneseHotelRoomStyle
não tem um valor padrão.
A omissão de um valor não resulta em um erro XML, mas sua listagem não é exibida nos resultados da pesquisa quando o usuário filtra por estilo de quarto ou camas.
Duas camas de solteiro
O exemplo abaixo 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
Veja a seguir um exemplo de quarto no 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
Este é um exemplo de um quarto em estilo japonês sem cama. As informações da cama não são obrigatórias no quarto com estilo 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>
Oeste japonês com cama
Veja a seguir um exemplo de quarto no estilo japanese_western
com cama 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 em japanese_western
quartos, 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 metadados de quartos e pacotes 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 com sucesso
sem avisos, erros ou falhas.
Cada mensagem tem |
TransactionResponse / Issues | 0..1 | Issues | Um contêiner para um ou mais problemas encontrados durante o processamento da
Mensagem de transação.
Cada mensagem tem |
TransactionResponse / Issues / Issue | 1..n | Issue | A descrição de um aviso, erro ou falha encontrada ao processar a Mensagem de transação. Os detalhes sobre esses problemas podem ser encontrados nas 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
Concluído
Veja a seguir uma resposta a uma Mensagem de transação processada com sucesso.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
id="12345678"
partner="partner_key">
<Success/>
</TransactionResponse>
Problemas
Veja 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>