Transação (dados de propriedades)

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 da 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 definir 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. Esse valor de string é o "Chave do parceiro" valor listado em o página de configurações da conta na Central para Hotéis.

Observação: se você tem um back-end que fornece feeds para várias contas, esse valor precisa corresponder ao ID o valor do atributo especificado em <RequestorID> elemento dos seus <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ> mensagens da mesma conta.

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:

  • overlay : Substitui todas as opções definidas anteriormente <RoomData> e <PackageData> da propriedade. Apenas os campos <RoomData> e <PackageData> na mensagem atual são válidos.
  • delta : Adiciona previamente indefinido <RoomData> e <PackageData> ou modifica os já existentes.

Esse atributo é opcional. Caso contrário, o padrão será delta especificado.

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 aparece na Central para Hotéis.
Transaction / PropertyDataSet / RoomData 0..n RoomData

Descreve uma sala.

Observação:pelo menos um de <RoomData>. ou <PackageData> é obrigatório.

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID Um identificador exclusivo para um tipo de quarto. Esse valor é referenciado usando o atributo InvTypeCode na Elemento <StatusApplicationControl> em <OTA_HotelAvailNotifRQ> e <OTA_HotelRateAmountNotifRQ> mensagens.
Transaction / PropertyDataSet / RoomData / Name 1 Name Contêiner com o nome da categoria do quarto em uma 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 language.
Transaction / PropertyDataSet / RoomData / Description 1 Name Contêiner da descrição da categoria do quarto em uma 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 Uma letra de duas letras código do idioma.
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs Um contêiner para elementos <AllowablePackageID>.

Se <AllowablePackageIDs> for especificado, o ambiente tipo identificado por <RoomID> no elemento <RoomData> pai só podem ser combinado com os planos de tarifas definidos pelo <AllowablePackageID>.

Se <AllowablePackageIDs> não for especificado, a sala tipo identificado por <RoomID> no elemento O elemento <RoomData> pode ser combinado com qualquer plano de tarifação.

Use <AllowablePackageIDs> ou <AllowableRoomIDs>, mas não os dois.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID Especifica o PackageID de um plano de tarifas que pode ser combinado com este tipo de quarto. Um plano de tarifação é definido por uma combinação de o pacote, as taxas e a disponibilidade. O PackageID corresponde ao RatePlanCode no 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. Deve ser maior ou igual a todos os valores NumberOfGuests enviados com as tarifas.

O valor de <Capacity> precisa ser um número inteiro positivo entre 1 e 99, inclusive. Consulte aqui para ver um exemplo.

Observação:se <Capacity> não estiver definido, o número de ocupantes permitidos é considerado ilimitado. Se este campo não está definido, e ExtraGuestCharges ou AdditionalGuestAmounts foram definidos, e os preços e podem ser geradas para qualquer número de ocupantes. Recomendamos que você defina a <Capacity> se ExtraGuestCharges ou AdditionalGuestAmounts sejam definidos para garantir que os preços não são mostrados para opções de ocupação inválidas.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer O número máximo de adultos que um quarto pode fisicamente acomodar. Deve ser maior ou igual a Valores NumberOfGuests que você envia com as taxas.

O valor de <AdultCapacity> precisa ser positivo Número inteiro entre 1 e 99, inclusive. Consulte aqui para ver um exemplo.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer O número máximo de crianças que uma sala pode fisicamente acomodar.

O valor de <ChildCapacity> precisa ser positivo número inteiro entre 1 e 99, inclusive. Consulte aqui para ver um exemplo.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings Configurações que podem restringir ou modificar os requisitos de ocupação de um sala

O elemento <OccupancySettings> toma seguintes elementos-filho:

  • <MinOccupancy>: o número mínimo de convidados que podem ficar em um quarto. Por exemplo, se ele for definido como 2, esta sala não pode ser reservada para um único hóspede.

    O valor de <MinOccupancy> precisa ser positivo número inteiro entre 1 e 99, inclusive.

  • <MinAge>: a idade mínima de todos os convidados ficar em um quarto. Por exemplo, se ele for definido como 18, esta sala só pode ser reservada para grupos em que todos os convidados são maiores de 18 anos ou superior.

    O valor de <MinAge> precisa ser um número inteiro positivo entre 0 e 99, inclusive.

<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 uma determinada sala ou Categoria de quarto. É possível especificar mais de um <PhotoURL> para um quarto ou Categoria de quarto.

Esse elemento assume os seguintes elementos-filho:

  • <URL>: especifica o local da foto. A local deve ser público (não protegido por firewall) e deve incluir o protocolo (http://).
  • <Caption>: define a legenda da foto. Esse elemento tem apenas um elemento filho, <Text>, que tem dois atributos obrigatórios, Text e language O atributo Text é a legenda, e o atributo language especifica um bloco código de idioma, como en.
<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:

  • western: um quarto em estilo ocidental com camas.
  • japanese: um quarto em estilo japonês com camas futon.
  • japanese_western: sala em estilo ocidental japonês com camas em estilo ocidental e futons em estilo japonês.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object Contém a mesma quantidade de <Bed> que a sala. Observação que futons japoneses não devem ser contados aqui.

Cada <Bed> tem os seguintes atributos:

  • size (opcional): os valores válidos são single, semi_double, double, queen e king.
. Cada <Bed> tem os seguintes elementos filhos:
  • <Width> (opcional): especifica a largura da cama. Precisa ter o atributo unit com o valor cm e o atributo number pela largura da cama em centímetros inteiros.
  • <Length> (opcional): especifica o comprimento da cama. Precisa ter o atributo unit com o valor cm e o atributo number com o comprimento da cama em centímetros inteiros.
. Exemplo:
<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 a 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 este elemento quando esse quarto for uma acomodação ao ar livre que não têm paredes fixas, encanamento e controle de temperatura. Por exemplo, quartos de hotel não são hospedagem ao ar livre, enquanto acampamentos em que os hóspedes ficam em barracas e Áreas para trailers onde os hóspedes trazem seus 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. Válida os valores 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 é:

  • relation (opcional): indica como o banho e vaso sanitário são colocados em relação um ao outro. Os valores válidos são together, por exemplo, um banheiro em que ambos banheiros e vaso sanitário estejam juntos no mesmo cômodo; e separate, onde o banheiro e o banheiro são dedicados espaços Este atributo não deve ser definido quando o ambiente não tem uma banheira e um banheiro.

Opcionalmente, o elemento pode ter os seguintes elementos filhos:

  • <Bath> (opcional): a existência do elemento. indica que o quarto tem uma banheira.

    Os atributos são:

    • bathtub (opcional): indica que o banho tem um na banheira do banheiro. Os valores válidos são: 0 (ou false) e 1 (ou true).
    • shower (opcional): indica que o banho tem um chuveiro Os valores válidos são 0 (ou false) e 1 (ou true).
  • <Toilet> (opcional): a existência do elemento. indica que a sala tem um banheiro.

    Os atributos são:

    • electronic_bidet (opcional): indica que o banheiro tem um bidê eletrônico. Os valores válidos são 0 (ou false) e 1 (ou true).
    • mobility_accessible (opcional): indica que o banheiro é acessível à mobilidade. Os valores válidos são: 0 (ou false) e 1 (ou true).

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:

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

Transaction / PropertyDataSet / PackageData 0..n PackageData

Contêiner com elementos que descrevem os recursos e termos das tarifas que não fazem parte da descrição física do quarto.

Observação:pelo menos um de <RoomData>. ou <PackageData> é obrigatório.

Transaction / PropertyDataSet / PackageData / PackageID 1 string PackageID nessas mensagens corresponde ao RatePlanCode em 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 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 language.
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string Uma letra de duas letras código do idioma.
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs Um contêiner para elementos <AllowableRoomID>.

Se <AllowableRoomIDs> for especificado, o plano de tarifação identificado por <PackageID> no elemento <PackageData> pai só podem ser combinado com os tipos de quarto definidos pelos <AllowableRoomID>.

Se <AllowableRoomIDs> não for especificado, a taxa plano identificado por <PackageID> no arquivo pai O elemento <PackageData> pode ser combinado com qualquer tipo de quarto.

Use <AllowablePackageIDs> ou <AllowableRoomIDs>, mas não os dois.

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ção. O tipo de quarto é definido em <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. Um feed de status é gerada quando um ou mais atributos não definido.

Se você não definir atributos, a taxa não será exibida como reembolsável.

Ao definir os atributos, observe o seguinte:

  • Se available ou refundable_until_days não estiver definida, a tarifa não aparecerá como reembolsável.
  • Se available for 0 ou false, os outros atributos serão ignorados. A taxa não é exibida como reembolsável, mesmo que um ou ambos os atributos estejam definidos.
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (Obrigatório) Defina como 1 ou true para indicar se a taxa permite um total reembolso; caso contrário, será definido como 0 ou false.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (Obrigatório se available é true) Especifica o número de dias de antecedência do check-in para reembolso total solicitado. O valor de refundable_until_days deve ser um número inteiro entre 0 e 330, inclusive.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time (altamente recomendado se available é true) Especifica na hora mais recente do dia, no horário local do hotel, em que um de reembolso será cumprida. Isso pode ser combinado com refundable_until_days para especificar, para exemplo, que "os reembolsos estão disponíveis até as 16h dois dias antes check-in". Se refundable_until_time não estiver definido, o valor o padrão é meia-noite.
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).

Recomendamos que você use <Meals> em vez de <BreakfastIncluded>.

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 os outros não incluem essa comodidade. Não defina esse elemento em um hotel com Internet gratuita para todos os quartos. Esse elemento não se aplica à Internet com fio na sala ou à Internet sem fio que não disponíveis 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 <Meals> usa dois filhos opcionais elementos, <Breakfast> e <Dinner>, que têm os seguintes atributos:

  • included (obrigatório): defina como 1 (ou true) se a tarifa incluir café da manhã/jantar; caso contrário Defina como 0 ou false.
  • in_room (opcional): defina como 1 (ou true) se os hóspedes tiverem a opção de tomar café da manhã/jantar no quarto em que se hospedam, caso contrário, será definido como 0 (ou false).
  • in_private_space (opcional): defina como 1 (ou true) se os hóspedes tiverem a opção de tomar café da manhã. jantar em um espaço (exceto no quarto onde ficam) onde possam evitar contato com outros convidados; caso contrário, será definido como 0 (ou false).
  • buffet (opcional): defina como 1 (ou true) se o café da manhã/jantar for servido como buffet; caso contrário, defina como 0 (ou false).

Os atributos opcionais são usados apenas quando included é verdade.

Para filtros de refeições (no meals, breakfast only, dinner only e breakfast and dinner) para o trabalho, <Breakfast> e <Dinner> precisam seja fornecido com o atributo included.

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean Se uma sala inclui estacionamento sem custo financeiro, quando o estacionamento seria um serviço pago neste hotel. Não especificar um valor para este 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 (igual a <PhotoURL> em <RoomData>, mas para o pacote (por exemplo, fotos da refeição).)

Exemplos

Dados de quartos e pacotes

Veja a seguir um exemplo básico de como definir o quarto e dados de pacote em uma mensagem de transação (dados da propriedade). O overlay é usado para garantir que, caso já existam dados inesperados, todos os dados atuais sã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>

Adicionar um tipo de quarto

Este é um exemplo de como adicionar um tipo de quarto e um pacote ao dados de <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

A seguir, apresentamos um exemplo de como remover os tipos de quarto existentes e pacotes. Nesse caso, se as mensagens na coluna "Dados do Room e do pacote" e "Adicionar um tipo de quarto" foram enviadas ao Google anteriormente, os King e Double tipos de quarto não existirão mais depois que o Google receber a mensagem mostrados. A remoção dos dados do pacote afeta o plano de tarifas geral. conforme definido na transação (dados de propriedade), OTA_HotelRateAmountNotifRQ, e mensagens OTA_HotelAvailNotifRQ, fazendo referência aos mesmos PackageID ) e, portanto, as atualizações correspondentes usando os outros tipos de mensagem podem ser necessário 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 <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 de preço menor 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 abaixo um exemplo de como usar <Capacity>, <AdultCapacity> <ChildCapacity> elementos para definir restrições nas 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. Todas as três capacidades requisitos devem ser atendidos para que esta sala possa ser reservada. Isso representa um quarto típico com duas camas que cada para duas pessoas. A capacidade do filho é um a menos que a capacidade total porque a sala deve 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 de XML, mas a sua listagem não é mostrados 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

Confira a seguir um exemplo de sala de estilo western com duas double camas.

<?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. Dormir informações não são necessárias para a sala no 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 sala no estilo japanese_western com king. cama grande.

<?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 a informação sobre o número de leitos em japanese_western salas, 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 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 o seguinte 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.
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.

<Success> ou <Issues> são presentes em cada mensagem.

TransactionResponse / Issues 0..1 Issues Um contêiner para um ou mais problemas encontrados durante o processamento da Mensagem de transação.

<Success> ou <Issues> são presentes em cada mensagem.

TransactionResponse / Issues / Issue 1..n Issue A descrição de um aviso, erro ou falha encontrado processando a 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 warning, error e failure.

Exemplos

Sucesso

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>