Transazione (dati proprietà)

Richieste

Sintassi

Il messaggio Transaction (Property Data) utilizza la seguente sintassi:

<?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>

Elementi e attributi

Il messaggio Transaction (Property Data) contiene i seguenti elementi e attributi:

Elemento / @attributo Occorrenze Tipo Descrizione
Transaction 1 Complex element In un'implementazione ARI, questo è l'elemento principale di un messaggio o definire pacchetti e tipi di camere per una singola struttura.
Transaction / @timestamp 1 DateTime La data e l'ora di creazione di questo messaggio.
Transaction / @id 1 string Un identificatore univoco per questo messaggio di richiesta. Questo valore viene restituito nel messaggio di risposta. I caratteri consentiti sono a-z, A-Z, 0-9, _ (trattino basso) e - (trattino).
Transaction / @partner 1 string L'account partner per questo messaggio. Questo valore di stringa corrisponde alla "Chiave del partner" valore indicato il Impostazioni account in Hotel Center.

Nota: se hai un backend che fornisce feed per più account, questo valore deve corrispondere a ID specificato nel campo <RequestorID> elemento di <OTA_HotelRateAmountNotifRQ> e <OTA_HotelAvailNotifRQ> messaggi per lo stesso account.

Transaction / PropertyDataSet 1.. PropertyDataSet Un contenitore per la definizione di tipi di camera e pacchetti di una singola proprietà.
Transaction / PropertyDataSet / @action 0..1 enum

Il tipo di aggiornamento da applicare alle definizioni delle tariffe delle camere.

I valori validi sono:

  • overlay : sostituisce tutte le definizioni precedentemente definite <RoomData> e <PackageData> per la proprietà. Solo i <RoomData> e <PackageData> nel messaggio corrente sono validi.
  • delta : Aggiunge elementi precedentemente non definiti <RoomData> e <PackageData> o modifica quelle esistenti.

Questo attributo è facoltativo e il valore predefinito è delta in caso contrario specificato.

Transaction / PropertyDataSet / Property 1 string L'identificatore univoco della struttura. Questo valore deve corrispondere alla ID hotel specificato utilizzando <id> nell'elemento <listing> nel feed elenco hotel. L'ID hotel è indicato anche in Hotel Center.
Transaction / PropertyDataSet / RoomData 0..n RoomData

Descrive una camera.

Nota: almeno uno di <RoomData> o <PackageData> è obbligatorio.

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID Un identificatore univoco per un tipo di camera. A questo valore viene fatto riferimento utilizzando l'attributo InvTypeCode in <StatusApplicationControl> elemento in <OTA_HotelAvailNotifRQ> e <OTA_HotelRateAmountNotifRQ> messaggi.
Transaction / PropertyDataSet / RoomData / Name 1 Name Contenitore per il nome della categoria della camera in una o più lingue diverse.
Transaction / PropertyDataSet / RoomData / Name / Text 1..n Text Specifica il nome della categoria della camera in una lingua.
Transaction / PropertyDataSet / RoomData / Name / Text / @text 1..n string Il nome della categoria della camera nella lingua specificata dal Attributo language.
Transaction / PropertyDataSet / RoomData / Description 1 Name Contenitore per la descrizione della categoria della camera in una o più lingue diverse.
Transaction / PropertyDataSet / RoomData / Description / Text 1..n Text Specifica la descrizione della categoria della camera in una lingua.
Transaction / PropertyDataSet / RoomData / Description / Text / @text 1..n string La descrizione della categoria della camera nella lingua specificata dall'attributo language.
Transaction / PropertyDataSet / RoomData / Description / Text / @language 1..n string Un file di due lettere codice lingua.
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs Un contenitore per gli elementi <AllowablePackageID>.

Se <AllowablePackageIDs> è specificato, la stanza tipo identificato dal <RoomID> nell'elemento <RoomData> principale può essere solo in combinazione con i piani tariffari definiti <AllowablePackageID> elementi.

Se <AllowablePackageIDs> non è specificato, la stanza tipo identificato da <RoomID> nell'elemento principale L'elemento <RoomData> può essere combinato con qualsiasi piano tariffario.

Usa <AllowablePackageIDs> o <AllowableRoomIDs>, ma non entrambe.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID Specifica il valore PackageID di un piano tariffario che può essere combinato con questo tipo di stanza. Un piano tariffario è definito da una combinazione di pacchetto, tariffe e disponibilità. PackageID corrisponde al valore RatePlanCode nel Messaggi OTA_HotelRateAmountNotimul e OTA_HotelAvailNotiAny.
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer Il numero massimo di adulti e bambini che una camera può adottare fisicamente. Deve essere maggiore o uguale a qualsiasi valore NumberOfGuests che invii con le tariffe.

Il valore di <Capacity> deve essere un numero intero positivo tra 1 e 99 inclusi. Consulta: qui per un esempio.

Nota: se <Capacity> non è impostato, il numero del numero di persone consentite è considerato illimitato. Se questo campo non è impostato e ExtraGuestCharges o Sono definiti AdditionalGuestAmounts, i prezzi può essere generato per un numero qualsiasi di persone. I nostri suggerimenti di impostare <Capacity> se ExtraGuestCharges o AdditionalGuestAmounts per garantire che i prezzi non vengono visualizzati per le opzioni non valide.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer Il numero massimo di adulti che una camera può fisicamente possono ospitare. Deve essere maggiore o uguale a qualsiasi NumberOfGuests valori che invii con le tariffe.

Il valore di <AdultCapacity> deve essere un numero positivo numero intero compreso tra 1 e 99 inclusi. Consulta: qui per un esempio.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer Il numero massimo di bambini che una camera può fisicamente possono ospitare.

Il valore di <ChildCapacity> deve essere un numero positivo numero intero compreso tra 1 e 99 inclusi. Consulta: qui per un esempio.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings Impostazioni che possono limitare o modificare i requisiti di occupazione di un nella finestra iniziale.

L'elemento <OccupancySettings> utilizza i seguenti elementi secondari:

  • <MinOccupancy>: il numero minimo di ospiti che possono rimanere in una stanza. Ad esempio, se questo è impostato su 2, questa stanza non può essere prenotata per un singolo invitato.

    Il valore di <MinOccupancy> deve essere un numero positivo numero intero compreso tra 1 e 99 inclusi.

  • <MinAge>: l'età minima per tutti gli ospiti che resta in una stanza. Ad esempio, se questo valore è impostato su 18, questa stanza può essere prenotata solo per gruppi in cui tutti gli ospiti hanno almeno 18 anni o superiore.

    Il valore di <MinAge> deve essere un numero intero positivo compreso tra 0 e 99 inclusi.

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

Non è necessario includere tutti gli elementi secondari.

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL Un URL e una didascalia facoltativa per una foto di una determinata stanza o Pacchetto camera. Puoi specificare più di un <PhotoURL> per una camera o un pacchetto camera.

Questo elemento utilizza i seguenti elementi secondari:

  • <URL>: specifica la posizione della foto. La la posizione deve essere pubblica (non dietro un firewall) e deve includere il protocollo (http://).
  • <Caption>: definisce la didascalia della foto. Questo elemento utilizza un singolo elemento secondario, <Text>, che ha due attributi obbligatori, Text e language. L'attributo Text è la didascalia, mentre l'attributo language specifica un formato di due lettere come 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> Contiene informazioni sulle caratteristiche della camera.
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle 0..1 enum

Indica lo stile di una camera d'albergo giapponese.

I valori validi sono:

  • western: una camera in stile western con letti.
  • japanese: una camera in stile giapponese con futon.
  • japanese_western: una camera in stile occidentale giapponese con letti in stile occidentale e futon in stile giapponese.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object Contiene un numero di <Bed> pari a quello della camera. Nota: che i futon giapponesi non devono essere conteggiati qui.

Ogni <Bed> ha i seguenti attributi:

  • (Facoltativo) size: i valori validi sono single, semi_double, double, queen e king,
di Gemini Advanced. Ogni <Bed> ha i seguenti elementi secondari:
  • (Facoltativo) <Width>: specifica la larghezza del letto. L'attributo unit deve avere il valore cm e l'attributo number con la larghezza del letto in centimetri interi.
  • <Length> (facoltativo): specifica la lunghezza del letto. L'attributo unit deve avere il valore cm e l'attributo number con la lunghezza del letto centimetri interi.
di Gemini Advanced. Esempio:
<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 Fornisci questo elemento quando questa camera è una suite.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule 0..1 enum Fornisci questo elemento se la stanza è una capsula.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing 0..1 enum Indica se questa stanza è condivisa con altri occupanti, ad esempio i proprietari o altri ospiti. I valori validi sono shared e private.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor 0..1 enum Fornisci questo elemento quando questa camera è una struttura ricettiva all'aperto che non hanno pareti fisse, impianti idraulici e di climatizzazione. Ad esempio, camere d'albergo non sono alloggi all'aperto, mentre i campeggi in cui gli ospiti soggiornano in tende Le aree di sosta per camper dove gli ospiti portano il proprio camper sono alloggi all'aperto.
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible 0..1 enum Fornisci questo elemento quando la stanza è accessibile a persone con mobilità ridotta.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking 0..1 enum Indica se questa è una camera per non fumatori o per fumatori. Valido i valori sono non_smoking e smoking.
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet 0..1 Object Contiene informazioni su una vasca e servizi igienici nella camera.

L'attributo è:

  • relation (facoltativo): indica come il bagno e i servizi igienici sono posizionati l'uno rispetto all'altro. I valori validi sono together, ad esempio, un bagno in cui entrambi e i servizi igienici si trovano nella stessa stanza; e separate, entrambi dotati di bagno e servizi igienici dedicati spazi di archiviazione. Questo attributo non deve essere impostato se la camera non ha sia da bagno che da servizi igienici.

Facoltativamente, l'elemento accetta i seguenti elementi secondari:

  • <Bath> (facoltativo): l'esistenza di questo elemento indica che la camera dispone di un bagno.

    Gli attributi sono:

    • bathtub (facoltativo): indica che il bagno ha un nella vasca da bagno. I valori validi sono 0 (o false) e 1 (o true).
    • shower (facoltativo): indica che il bagno ha un sotto la doccia. I valori validi sono 0 (o false) e 1 (o true).
  • <Toilet> (facoltativo): l'esistenza di questo elemento indica che questa stanza è dotata di servizi igienici.

    Gli attributi sono:

    • electronic_bidet (facoltativo): indica che Wc è dotato di un bidet elettronico. I valori validi sono 0 (o false) e 1 (o true).
    • mobility_accessible (facoltativo): indica che sono accessibili da persone con mobilità ridotta. I valori validi sono 0 (o false) e 1 (o true).

Esempio:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath 0..1 enum Fornisci questo elemento quando questa camera ha una vasca privata all'aperto.
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning 0..1 enum Fornisci questo elemento se questa camera è dotata di aria condizionata.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony 0..1 enum Fornisci questo elemento se questa camera ha un balcone o una veranda.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views 0..1 Object Le opzioni valide includono:

<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

Contenitore di elementi che descrivono le caratteristiche e i termini delle tariffe che non fanno parte della descrizione fisica delle camere.

Nota: almeno uno di <RoomData> o <PackageData> è obbligatorio.

Transaction / PropertyDataSet / PackageData / PackageID 1 string PackageID in questi messaggi corrisponde alla RatePlanCode in OTA_HotelRateAmountNotifRQ e Messaggi di OTA_HotelAvailNotifRQ.
Transaction / PropertyDataSet / PackageData / Name 1 Name Contenitore per il nome del pacchetto in una o più lingue.
Transaction / PropertyDataSet / PackageData / Name / Text 1..n Text Specifica il nome del pacchetto in una lingua.
Transaction / PropertyDataSet / PackageData / Name / Text / @text 1..n string Il nome del pacchetto nella lingua specificata dal Attributo language.
Transaction / PropertyDataSet / PackageData / Description 1 Description Contenitore per la descrizione del pacchetto in una o più lingue.
Transaction / PropertyDataSet / PackageData / Description / Text 1..n Text Specifica la descrizione del pacchetto in una lingua.
Transaction / PropertyDataSet / PackageData / Description / Text / @text 1..n string La descrizione del pacchetto nella lingua specificata dal Attributo language.
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string Un file di due lettere codice lingua.
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs Un contenitore per gli elementi <AllowableRoomID>.

Se <AllowableRoomIDs> è specificato, il piano tariffario identificati dal <PackageID> nell'elemento <PackageData> principale può essere solo combinato con i tipi di camera definiti dal <AllowableRoomID> elementi.

Se <AllowableRoomIDs> non è specificato, la tariffa piano identificato da <PackageID> nell'elemento principale L'elemento <PackageData> può essere combinato con qualsiasi tipo di stanza.

Usa <AllowablePackageIDs> o <AllowableRoomIDs>, ma non entrambe.

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID Specifica il RoomID di un tipo di camera che può essere combinato con questo piano tariffario. Un tipo di camera è definito in un <RoomData> .
Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable Consente di indicare una tariffa come completamente rimborsabile o annullabile. Se non viene specificato, non vengono visualizzate informazioni sul rimborso.

Nota:consigliamo di impostare tutti gli attributi. Un feed viene generato quando uno o più attributi vengono non impostato.

Se non imposti alcun attributo, la tariffa non viene visualizzata come rimborsabile.

Quando imposti gli attributi, tieni presente quanto segue:

  • Se available o refundable_until_days non è impostato, la tariffa non viene visualizzata come rimborsabile.
  • Se available è 0 o false, mentre gli altri vengono ignorati. La tariffa non viene visualizzata come Rimborsabile anche se uno o entrambi gli altri attributi sono impostati.
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (Obbligatorio) Impostato su 1 o true per indicare se la tariffa consente un addebito completo refund; altrimenti impostato su 0 o false.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (Obbligatorio se available è true) Specifica il numero di giorni prima del check-in entro cui è possibile ricevere un rimborso totale richiesto. Il valore di refundable_until_days deve essere un numero intero compreso tra 0 e 330 inclusi.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time (vivamente consigliato se available è true) Specifica l'ultima ora del giorno, nell'ora locale dell'hotel, che la richiesta di rimborso verrà soddisfatta. Questo può essere combinato con refundable_until_days da specificare, per ad esempio "i rimborsi sono disponibili fino alle 16:00 di due giorni prima controllo". Se refundable_until_time non è impostato, il valore il valore predefinito è mezzanotte.
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean Specifica se questo tipo di camera include la colazione. I valori validi sono 0 (o false) e 1 (o true).

È preferibile usare <Meals> anziché <BreakfastIncluded>.

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time Il primo orario per il check-in possibile nell'ora locale dell'hotel. L'orario deve essere inferiore alle 24:00.
Transaction / PropertyDataSet / PackageData / CheckoutTime 0..1 Time Ultimo orario di check-out possibile nell'ora locale dell'hotel.
Transaction / PropertyDataSet / PackageData / InternetIncluded 0..1 boolean Specifica se la camera include l'accesso a internet gratuito mentre le altre camere non includono questo comfort. Non impostare questo elemento in un hotel che offre la connessione internet gratuita in tutte le camere. Questo elemento non si applica alla connessione internet cablata nelle camere o wireless che è non disponibile nelle camere degli ospiti. I valori validi sono 0 (o false) e 1 (o true).
Transaction / PropertyDataSet / PackageData / Meals 0..1 Object Contiene informazioni sui pasti inclusi in questo pacchetto.

L'elemento <Meals> utilizza due elementi secondari facoltativi elementi, <Breakfast> e <Dinner>, che hanno i seguenti attributi:

  • included (obbligatorio): impostato su 1 (oppure su true) se la tariffa include colazione/cena; altrimenti impostato su 0 o false.
  • (Facoltativo) in_room: imposta su 1 (oppure true) se gli ospiti possono consumare colazione/cena nella stanza in cui soggiornano; altrimenti impostato su 0 (o false).
  • (Facoltativo) in_private_space: impostato su 1 (o true) se gli ospiti possono fare colazione/ cenare in un ambiente (ad eccezione della stanza in cui soggiornano) dove possano evitare contatti con altri ospiti; altrimenti impostato su 0 (o false).
  • (Facoltativo) buffet: imposta su 1 (oppure true) se la colazione/cena sono servite a buffet; altrimenti impostato su 0 (o false).

Gli attributi facoltativi vengono utilizzati solo quando included è vero.

Per i filtri dei pasti (no meals, breakfast only, dinner only e breakfast and dinner) al lavoro, sia <Breakfast> che <Dinner> richiedono da fornire con l'attributo included.

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean Indica se una camera include il parcheggio senza costi aggiuntivi, dove il parcheggio è un servizio a pagamento dell'hotel. Non specificare un valore per questo elemento per un hotel che offre il parcheggio gratuito. I valori validi sono 0 (o false) e 1 (o true). Il valore predefinito è false.
Transaction / PropertyDataSet / PackageData / PhotoURL 0..1 Object (Uguale a <PhotoURL> in <RoomData>, ma per il pacco (ad es. foto di pasti).

Esempi

Dati di camere e pacchetti

Di seguito è riportato un esempio base di come definire la camera e dei pacchetti di dati in un messaggio Transaction (Property Data). overlay viene usato per assicurare che, se esistono già dati inaspettatamente, tutti i dati esistenti vengono eliminati e sostituiti con i dati presenti in questo messaggio:

<?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>

Aggiungi un tipo di camera

Di seguito è riportato un esempio di come aggiungere un tipo di camera e un pacchetto a dati <Transaction> esistenti:

<?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>

Rimuovi tipi di camera

Di seguito è riportato un esempio di come rimuovere i tipi di camera esistenti e pacchetti. In questo scenario, se i messaggi in "Dati di camere e pacchetti" e "Aggiungi un tipo di stanza" inviati a Google in precedenza, i King Dopo la ricezione del messaggio da parte di Google, non esisterebbero più Double tipi di stanza come mostrato nell'immagine. Tieni presente che la rimozione dei dati del pacchetto influisce sul piano tariffario complessivo. come definito in Transaction (Property Data), OTA_HotelRateAmountNotifRQ, e OTA_HotelAvailNotifRQ (facendo riferimento allo stesso PackageID value), quindi gli aggiornamenti corrispondenti che utilizzano gli altri tipi di messaggi possono essere obbligatorio per indicare che PackageID_2 e PackageID_3 non sono più definiti qui.

<?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>


Limitare i piani tariffari

Di seguito è riportato un esempio di come utilizzare <AllowablePackageIDs> per limitare i piani tariffari consentiti per un tipo di camera. In questo esempio, il tipo di camera Queen (RoomID_2) può essere combinato solo con il pacchetto e piano tariffario identificato come 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>

Limita la capacità della sala

Di seguito è riportato un esempio di come utilizzare <Capacity>, <AdultCapacity>, <ChildCapacity> elementi per impostare limitazioni relative alla capienza delle camere.

<?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>

La tipologia di camera doppia (RoomID_1) può ospitare fino a quattro persone. Inoltre, può ospitare fino a 4 adulti e fino a 3 bambini. Capacità di tutti e tre Devi soddisfare i requisiti della stanza affinché questa stanza possa essere prenotabile. Questo è rappresentativa di una camera tipica con due letti, per due persone. La capacità figlio è di uno in meno rispetto alla capacità totale perché nella sala deve essere presente almeno un adulto.

Esempi estesi con <RoomFeatures> e pasti

JapaneseHotelRoomStyle non ha un valore predefinito. L'omissione di un valore non comporta un errore XML, ma la tua scheda non è mostrati nei risultati di ricerca, quando l'utente filtra per stile della camera o letti.

Due letti singoli

L'esempio seguente mostra come utilizzare <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>

Due letti matrimoniali

Di seguito è riportato un esempio di camera in stile western con due double letti.

<?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>

Stile giapponese senza letto

Di seguito è riportato un esempio di camera in stile giapponese senza letto. Letto non sono necessarie informazioni per la camera in stile 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>

Western giapponese con letto

Di seguito è riportato un esempio di camera in stile japanese_western con king di dimensioni diverse.

<?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 il partner non dispone delle informazioni sul numero di letti in japanese_western stanze, fai riferimento all'esempio seguente:

<?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>


Pasti

L'esempio seguente definisce i metadati di camere e pacchetti per pasti, foto e orari di 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>

Solo colazione

<?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>

Risposte

Sintassi

Il messaggio TransactionResponse (Property Data) utilizza la seguente sintassi:

<?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>

Elementi e attributi

Il messaggio TransactionResponse (Property Data) contiene quanto segue elementi e attributi:

Elemento / @attributo Occorrenze Tipo Descrizione
TransactionResponse 1 Complex element L'elemento principale che indica l'esito positivo o negativo di un Messaggio di richiesta di transazione.
TransactionResponse / @timestamp 1 DateTime La data e l'ora di creazione di questo messaggio.
TransactionResponse / @id 1 string L'identificatore univoco del messaggio Transaction associato.
TransactionResponse / @partner 1 string L'account partner per questo messaggio.
TransactionResponse / Success 0..1 Success Indica che il messaggio Transaction è stato elaborato correttamente senza avvisi o errori.

<Success> o <Issues> sono presenti in ogni messaggio.

TransactionResponse / Issues 0..1 Issues Un container per uno o più problemi riscontrati durante l'elaborazione Messaggio Transaction.

<Success> o <Issues> sono presenti in ogni messaggio.

TransactionResponse / Issues / Issue 1..n Issue La descrizione di un avviso, un errore o un errore riscontrato durante nell'elaborazione del messaggio Transaction. Puoi trovare i dettagli su questi problemi nella sezione Messaggi di errore relativi allo stato dei feed.
TransactionResponse / Issues / Issue / @code 1 integer L'identificatore del problema.
TransactionResponse / Issues / Issue / @status 1 enum

Il tipo di problema riscontrato.

I valori validi sono warning, error, e failure.

Esempi

Operazione riuscita

Di seguito è riportata una risposta a un messaggio Transaction elaborato correttamente.

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Success/>
</TransactionResponse>

Problemi

Di seguito è riportata una risposta a un messaggio Transaction non elaborato a causa di errori.

<?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>