Transaktion (Unterkunftsdaten)

Anfragen

Syntax

Die Nachricht Transaction (Property Data) verwendet die folgende Syntax:

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

Elemente und Attribute

Die Nachricht „Transaktion (Unterkunftsdaten)“ enthält die folgenden Elemente und Attribute:

Element / @Attribut Häufigkeit Typ Beschreibung
Transaction 1 Complex element In einer ARI-Implementierung ist dies das Stammelement für eine Nachricht Definition von Zimmertypen und Paketen für eine einzelne Unterkunft.
Transaction / @timestamp 1 DateTime Erstellungsdatum und -uhrzeit der Nachricht.
Transaction / @id 1 string Eine eindeutige Kennung für diese Anfragenachricht. Dieser Wert wird in der Antwortnachricht. Zulässige Zeichen sind a–z, A–Z, 0–9, _ (Unterstrich) und - (Bindestrich).
Transaction / @partner 1 string Das Partnerkonto für diese Nachricht. Dieser Zeichenfolgenwert ist der „Partnerschlüssel“ Wert aufgelistet auf die Seite „Kontoeinstellungen“ im Hotel Center.

Hinweis: Wenn Sie ein Back-End haben, das Feeds für mehreren Konten besteht, muss dieser Wert mit dem Wert ID übereinstimmen. in <RequestorID> angegebener Attributwert deines <OTA_HotelRateAmountNotifRQ> und <OTA_HotelAvailNotifRQ> Nachrichten für dasselbe Konto.

Transaction / PropertyDataSet 1.. PropertyDataSet Ein Container zum Definieren von Zimmertypen und Paketen für eine einzelne Unterkunft.
Transaction / PropertyDataSet / @action 0..1 enum

Der Aktualisierungstyp, der auf Zimmerpreisdefinitionen angewendet werden soll.

Gültige Werte sind:

  • overlay : Ersetzt alle zuvor definierten <RoomData> und <PackageData> für die Unterkunft. Nur die <RoomData> und <PackageData> in der aktuellen Nachricht sind gültig.
  • delta : Fügt zuvor undefinierte Elemente hinzu <RoomData> und <PackageData> oder bestehende ändern.

Dieses Attribut ist optional und standardmäßig auf delta festgelegt, wenn nicht angegeben ist.

Transaction / PropertyDataSet / Property 1 string Die eindeutige Kennung für die Unterkunft. Dieser Wert muss mit der Hotel-ID angegeben mithilfe von <id> im Element <listing> im Hotellisten-Feed ein. Die Hotel-ID ist auch im Hotel Center aufgeführt.
Transaction / PropertyDataSet / RoomData 0..n RoomData

Beschreibt ein Zimmer.

Hinweis: Mindestens eine der folgenden Optionen ist <RoomData> oder <PackageData> ist erforderlich.

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID Eine eindeutige Kennung für einen Zimmertyp. Auf diesen Wert wird mithilfe von das Attribut InvTypeCode im <StatusApplicationControl>-Element in <OTA_HotelAvailNotifRQ> und <OTA_HotelRateAmountNotifRQ> Nachrichten.
Transaction / PropertyDataSet / RoomData / Name 1 Name Container für den Namen der Raumkategorie in einem oder mehreren Sprachen.
Transaction / PropertyDataSet / RoomData / Name / Text 1..n Text Gibt den Namen der Zimmerkategorie in einer Sprache an.
Transaction / PropertyDataSet / RoomData / Name / Text / @text 1..n string Der Name der Zimmerkategorie in der vom Attribut „language“.
Transaction / PropertyDataSet / RoomData / Description 1 Name Container für die Beschreibung der Zimmerkategorie in einem oder mehreren Sprachen.
Transaction / PropertyDataSet / RoomData / Description / Text 1..n Text Gibt die Beschreibung der Zimmerkategorie in einer Sprache an.
Transaction / PropertyDataSet / RoomData / Description / Text / @text 1..n string Die Beschreibung der Zimmerkategorie in der angegebenen Sprache durch das Attribut language.
Transaction / PropertyDataSet / RoomData / Description / Text / @language 1..n string Ein aus zwei Buchstaben Sprachcode.
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs Ein Container für <AllowablePackageID>-Elemente.

Wenn <AllowablePackageIDs> angegeben ist, wird der Raum vom <RoomID> identifizierter Typ im übergeordneten <RoomData>-Element kann nur kombiniert mit den Preisplänen <AllowablePackageID>-Elemente.

Wenn <AllowablePackageIDs> nicht angegeben ist, wird der Raum Typ, der durch die <RoomID> im übergeordneten Element Das <RoomData>-Element kann mit einem beliebigen Tarifplan aus.

Verwenden Sie entweder <AllowablePackageIDs> oder <AllowableRoomIDs>, aber nicht beides.

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID Gibt die PackageID eines Preisplans an, der damit kombiniert werden kann Zimmertyp. Ein Preisplan wird durch eine Kombination Paket, Preise und Verfügbarkeit. Das PackageID entspricht dem RatePlanCode im OTA_HotelRateAmountNotifRQ- und OTA_HotelAvailNotifRQ-Nachrichten
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer Die maximale Anzahl von Erwachsenen und Kindern, die in einem Zimmer übernachten können physisch unterbringen. Der Wert muss größer oder gleich sein. alle NumberOfGuests-Werte, die Sie mit Preisen senden.

Der Wert von <Capacity> muss eine positive Ganzzahl sein zwischen 1 und 99 (einschließlich) liegt. Weitere Informationen finden Sie unter hier ein Beispiel.

Hinweis:Wenn <Capacity> nicht festgelegt ist, wird die Zahl der erlaubten Personen gilt als unbegrenzt. Wenn dieses Feld nicht festgelegt ist und ExtraGuestCharges oder AdditionalGuestAmounts definiert, Preise können für eine beliebige Anzahl von Personen generiert werden. Wir empfehlen, Sie den <Capacity> festlegen, wenn ExtraGuestCharges oder AdditionalGuestAmounts definiert sind, damit die Preise werden bei ungültigen Belegungsoptionen nicht angezeigt.

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer Die maximale Anzahl von Erwachsenen, die ein Zimmer physisch in einem Raum haben kann unterbringen. Dieser Wert sollte größer oder gleich einer beliebigen NumberOfGuests-Werte, die Sie mit Preisen senden.

Der Wert von <AdultCapacity> muss positiv sein Ganzzahl zwischen 1 und 99 (einschließlich). Weitere Informationen finden Sie unter hier ein Beispiel.

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer Die maximale Anzahl von Kindern, die ein Zimmer physisch in einen Raum lassen kann unterbringen.

Der Wert von <ChildCapacity> muss positiv sein Ganzzahl zwischen 1 und 99 (jeweils einschließlich). Weitere Informationen finden Sie unter hier ein Beispiel.

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings Einstellungen, mit denen die Belegungsanforderungen eines Geräts eingeschränkt oder geändert werden können an.

Das Element <OccupancySettings> nimmt den Wert folgenden untergeordneten Elementen:

  • <MinOccupancy>: die Mindestanzahl von Gästen die in einem Raum bleiben können. Lautet der Parameter beispielsweise 2, dieser Raum kann nicht für einen einzelnen Gast gebucht werden.

    Der Wert von <MinOccupancy> muss positiv sein Ganzzahl zwischen 1 und 99 (jeweils einschließlich).

  • <MinAge>: Das Mindestalter für alle Gäste in einem Zimmer. Wenn beispielsweise 18 festgelegt ist, Dieser Raum kann nur für Gruppen gebucht werden, in denen alle Gäste mindestens 18 Jahre alt sind oder höher.

    Der Wert von <MinAge> muss eine positive Ganzzahl sein zwischen 0 und 99 (einschließlich).

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

Nicht alle untergeordneten Elemente müssen eingeschlossen werden.

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL Eine URL und eine optionale Bildunterschrift für ein Foto des entsprechenden Zimmers oder Zimmerpaket. Sie können mehrere <PhotoURL> angeben für ein Zimmer oder Zimmerpaket.

Dieses Element verwendet die folgenden untergeordneten Elemente:

  • <URL>: Gibt den Speicherort des Fotos an. Die Der Speicherort sollte öffentlich (nicht hinter einer Firewall) sein und enthält das Protokoll (http://)
  • <Caption>: Definiert die Bildunterschrift für das Foto. Dieses Element verwendet das einzelne untergeordnete Element <Text>, mit den zwei erforderlichen Attributen Text und language Das Attribut Text ist der Untertitel, und das Attribut language einen aus zwei Buchstaben bestehenden Sprachcode wie 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> Enthält Informationen zu Zimmerausstattung.
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle 0..1 enum

Zeigt den Stil eines japanischen Hotelzimmers an.

Gültige Werte sind:

  • western: Ein Zimmer im westlichen Stil mit Betten.
  • japanese: Ein Zimmer im japanischen Stil mit Futonbetten.
  • japanese_western: Ein Zimmer im japanischen Westernstil mit sowohl Betten im westlichen Stil als auch Futons im japanischen Stil.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object Enthält so viele <Bed> wie der Raum hat. Hinweis dass japanische Futons hier nicht berücksichtigt werden.

Jeder <Bed> hat die folgenden Attribute:

  • size (optional): Gültige Werte sind single, semi_double, double, queen und king
Jedes <Bed>-Element hat die folgenden untergeordneten Elemente: <ph type="x-smartling-placeholder">
    </ph>
  • <Width> (optional): Gibt die Bettbreite an. Muss das Attribut unit mit dem Wert cm haben und das Attribut number durch die Breite des Betts in ganzzahligen Zentimetern.
  • <Length> (optional): Gibt die Länge des Betts an. Muss das Attribut unit mit dem Wert cm haben und das Attribut number mit der Länge des Betts ganzzahlige Zentimeter.
Beispiel:
<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 Geben Sie dieses Element an, wenn es sich bei diesem Zimmer um eine Suite handelt.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule 0..1 enum Geben Sie dieses Element an, wenn dieser Raum ein Kapselraum ist.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing 0..1 enum Gibt an, ob dieser Raum mit anderen Personen genutzt wird, z. B. Eigentümern oder anderen Gästen. Gültige Werte sind shared und private.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor 0..1 enum Geben Sie dieses Element an, wenn es sich bei diesem Zimmer um eine Unterkunft im Freien handelt, die keine haben feste Wände, Sanitärinstallationen und Klimatisierung. Beispiel: Hotelzimmer sind keine Unterkünfte im Freien, während Zelte und Campingplätze Wohnmobilparks für Gäste mit eigenem Wohnmobil befinden sich im Freien.
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible 0..1 enum Geben Sie dieses Element an, wenn der Raum barrierefrei ist.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking 0..1 enum Ob dieses Zimmer ein Nichtraucherzimmer oder ein Raucherzimmer ist. Gültig Werte sind non_smoking und smoking.
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet 0..1 Object Enthält Informationen zu einem Bad und einer Toilette im Raum.

Das Attribut ist:

  • relation (optional): Gibt an, wie das Bad und Toiletten in Relation zueinander platziert werden. Gültige Werte: together, z. B. ein Bad mit beiden Bädern die Toilette und die Toilette sich im selben Raum befinden; und separate, in der jeweils Bad und Toilette Leerzeichen. Dieses Attribut darf nicht festgelegt werden, wenn der Raum keine eine Badewanne und eine Toilette.

Das Element verwendet optional die folgenden untergeordneten Elemente:

  • <Bath> (optional): Dieses Element ist vorhanden. gibt an, dass es im Raum ein Bad gibt.

    Die Attribute sind:

    • bathtub (optional): Gibt an, dass das Bad einen Badewanne im Badezimmer. Gültige Werte: 0 (oder false) und 1 (oder true).
    • shower (optional): Gibt an, dass das Bad einen in der Dusche. Gültige Werte sind 0 (oder false) und 1 (oder true).
  • <Toilet> (optional): Dieses Element ist vorhanden. gibt an, dass es in diesem Raum eine Toilette gibt.

    Die Attribute sind:

    • electronic_bidet (optional): Gibt an, dass der Die Toilette verfügt über ein elektronisches Bidet. Gültige Werte sind 0 (oder false) und 1 (oder true).
    • mobility_accessible (optional): Gibt an, dass der Die Toilette ist rollstuhlgerecht. Gültige Werte: 0 (oder false) und 1 (oder true).

Beispiel:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath 0..1 enum Dieses Element angeben, wenn der Raum ein eigenes Bad im Freien hat.
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning 0..1 enum Dieses Element muss angegeben werden, wenn das Zimmer mit einer Klimaanlage ausgestattet ist.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony 0..1 enum Geben Sie dieses Element an, wenn das Zimmer einen Balkon oder eine Veranda hat.
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views 0..1 Object Gültige Optionen:

<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

Container für Elemente, die Preismerkmale und -begriffe beschreiben, die gehören nicht zur Beschreibung des physischen Raums.

Hinweis: Mindestens eine der folgenden Optionen ist <RoomData> oder <PackageData> ist erforderlich.

Transaction / PropertyDataSet / PackageData / PackageID 1 string PackageID in diesen Nachrichten entspricht dem RatePlanCode in OTA_HotelRateAmountNotifRQ und OTA_HotelAvailNotifRQ-Nachrichten.
Transaction / PropertyDataSet / PackageData / Name 1 Name Container für den Namen des Pakets in einer oder mehreren Sprachen.
Transaction / PropertyDataSet / PackageData / Name / Text 1..n Text Gibt den Namen des Pakets in einer Sprache an.
Transaction / PropertyDataSet / PackageData / Name / Text / @text 1..n string Der Name des Pakets in der vom Attribut „language“.
Transaction / PropertyDataSet / PackageData / Description 1 Description Container für die Beschreibung des Pakets in einer oder mehreren Sprachen.
Transaction / PropertyDataSet / PackageData / Description / Text 1..n Text Gibt die Beschreibung des Pakets in einer Sprache an.
Transaction / PropertyDataSet / PackageData / Description / Text / @text 1..n string Die Beschreibung des Pakets in der vom Attribut „language“.
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string Ein aus zwei Buchstaben Sprachcode.
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs Ein Container für <AllowableRoomID>-Elemente.

Wenn <AllowableRoomIDs> angegeben ist, wird der Preisplan identifiziert durch die <PackageID> im übergeordneten <PackageData>-Element kann nur kombiniert mit den Zimmertypen, die im <AllowableRoomID>-Elemente.

Wenn <AllowableRoomIDs> nicht angegeben ist, wird der Preis durch <PackageID> im übergeordneten Element identifiziert Das <PackageData>-Element kann mit einem beliebigen Zimmertyp.

Verwenden Sie entweder <AllowablePackageIDs> oder <AllowableRoomIDs>, aber nicht beides.

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID Gibt die RoomID eines Zimmertyps an, die damit kombiniert werden kann Tarifplan aus. In <RoomData> ist ein Zimmertyp definiert -Elements.
Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable Ermöglicht es, einen Preis als vollständig erstattungsfähig oder stornierbar anzugeben. Wenn nicht angegeben, werden keine Informationen zu einer Erstattung angezeigt.

Hinweis: Wir empfehlen, alle Attribute festzulegen. Ein Feed Eine Statuswarnung wird generiert, wenn mindestens ein Attribut Nicht festgelegt.

Wenn Sie keine Attribute festlegen, wird der Preis nicht als erstattungsfähig.

Beachten Sie beim Festlegen der Attribute Folgendes:

  • Wenn available oder refundable_until_days nicht festgelegt ist, wird der Preis nicht als erstattungsfähig angezeigt.
  • Wenn available 0 oder false ist, werden die anderen Attribute ignoriert. Der Preis wird nicht als erstattungsfähig, auch wenn eines oder beide der anderen Attribute festgelegt sind.
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (Erforderlich) Auf 1 festlegen oder true, um anzugeben, ob der Preis einen vollständigen Erstattung; Andernfalls auf 0 oder false gesetzt.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer (Erforderlich, wenn available ist true). Gibt an Anzahl der Tage vor dem Check-in, innerhalb derer eine volle Erstattung erfolgen kann angefordert. Wert von refundable_until_days muss eine Ganzzahl zwischen 0 und 330 sein, wobei die beiden Grenzwerte ebenfalls zulässig sind.
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time (Dringend empfohlen, wenn available ist true). Gibt an die späteste Tageszeit in der Ortszeit des Hotels, dass ein voller Erstattungsantrag wird berücksichtigt. Dies kann mit refundable_until_days zum Angeben, für Beispiel: „Erstattungen sind bis 16:00 Uhr zwei Tage im Voraus möglich. Check-in“. Ist refundable_until_time nicht festgelegt, wird der Wert ist Mitternacht standardmäßig aktiviert.
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean Gibt an, ob bei diesem Zimmertyp Frühstück inbegriffen ist. Gültige Werte sind 0 (oder false) und 1 (oder true).

Am besten verwendest du <Meals>. statt <BreakfastIncluded>.

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time Früheste mögliche Check-in-Zeit in der Ortszeit des Hotels. Die Zeit muss kürzer als 24:00 sein.
Transaction / PropertyDataSet / PackageData / CheckoutTime 0..1 Time Späteste mögliche Check-out-Zeit in der Ortszeit des Hotels.
Transaction / PropertyDataSet / PackageData / InternetIncluded 0..1 boolean Gibt an, ob der Raum kostenlosen Internetzugang bietet Die anderen Zimmer bieten diese Ausstattung nicht. Legen Sie dieses Element nicht in ein Hotel mit kostenlosem Internet für alle Zimmer. Dieses Element nicht auf kabelgebundenen oder drahtlosen Internetzugang, nicht in Gästezimmern verfügbar. Gültige Werte sind 0 (oder false) und 1 (oder true).
Transaction / PropertyDataSet / PackageData / Meals 0..1 Object Enthält Informationen zu den Mahlzeiten in diesem Paket.

Das <Meals>-Element verwendet zwei optionale untergeordnete Elemente, <Breakfast> und <Dinner> mit den folgenden Attributen:

  • included (erforderlich): Setzen Sie diese auf 1 (oder true) wenn der Preis Frühstück/Abendessen enthält; sonst 0 oder false festgelegt ist.
  • in_room (optional): Legen Sie 1 fest (oder true), wenn Gäste die Möglichkeit zum Frühstück und Abendessen haben in dem sie sich aufhalten; andernfalls auf 0 (oder false.
  • in_private_space (optional): Legen Sie 1 fest. (oder true), wenn Gäste die Option zum Frühstück/ Abendessen in einem Raum (außer dem Zimmer, in dem sie sich aufhalten), wo sie vermieden werden können Kontakt mit anderen Gästen; andernfalls auf 0 (oder false.
  • buffet (optional): Legen Sie 1 fest (oder true) wenn Frühstück und Abendessen als Buffet angeboten werden Andernfalls auf 0 (oder false) festgelegt.

Die optionalen Attribute werden nur verwendet, wenn included true fest.

Für Mahlzeitenfilter (no meals, breakfast only, dinner only und breakfast and dinner) zur Arbeit, Sowohl <Breakfast> als auch <Dinner> benötigen mit dem Attribut included angegeben werden.

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean Ob ein Zimmer mit kostenlosen Parkplätzen ausgestattet ist Die Parkplätze wären andernfalls kostenpflichtig. Nicht angeben einen Wert für dieses Element für ein Hotel, das kostenlose Parkplätze anbietet. Gültige Werte sind 0 (oder false) und 1 (oder true). Der Standardwert ist false.
Transaction / PropertyDataSet / PackageData / PhotoURL 0..1 Object (Wie bei <PhotoURL> in <RoomData>, sondern für das Paket (z.B. Fotos von Mahlzeiten).

Beispiele

Zimmer- und Paketdaten

Im Folgenden finden Sie ein einfaches Beispiel dafür, wie Sie das Zimmer und Daten in einer Nachricht „Transaktion (Unterkunftsdaten)“ verpacken. Das overlay wird verwendet, damit Daten, die unerwartet vorhanden sind, Alle vorhandenen Daten werden gelöscht und durch die Daten in dieser Nachricht ersetzt:

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

Raumtyp hinzufügen

Im Folgenden finden Sie ein Beispiel dafür, wie Sie Vorhandene <Transaction>-Daten:

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

Raumtypen entfernen

Das folgende Beispiel zeigt, wie Sie vorhandene Zimmertypen und Pakete. Wenn in diesem Szenario die Nachrichten im Feld „Zimmer- und Paketdaten“ und „Zimmertyp hinzufügen“ zuvor an Google gesendet wurden, die King und Double Zimmertypen sind nach Eingang der Nachricht bei Google nicht mehr vorhanden angezeigt. Das Entfernen von Paketdaten wirkt sich auf den Gesamtpreisplan aus wie definiert über Transaktion (Unterkunftsdaten), OTA_HotelRateAmountNotifRQ, und OTA_HotelAvailNotifRQ-Nachrichten (durch Verweis auf dieselben PackageID-Nachrichten -Wert), sodass entsprechende Aktualisierungen, die die anderen Nachrichtentypen verwenden, erforderlich, um widerzuspiegeln, dass PackageID_2 und PackageID_3 nicht mehr die hier definiert sind.

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


Tarifpläne einschränken

Hier ein Beispiel für die Verwendung von <AllowablePackageIDs> , um die für einen Zimmertyp zulässigen Preispläne einzuschränken. In diesem Beispiel der Zimmertyp Queen (RoomID_2) kann nur mit dem Paket und als PackageID_1 identifiziert.

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

Raumkapazität einschränken

Hier ein Beispiel für die Verwendung von <Capacity>, <AdultCapacity>, <ChildCapacity>-Elemente, um Einschränkungen für die Raumkapazität festzulegen.

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

Das Doppelzimmer (RoomID_1) bietet Platz für bis zu 4 Personen. Außerdem können für bis zu 4 Erwachsene und bis zu 3 Kinder genutzt werden. Alle drei Kapazitäten müssen erfüllt sein, damit dieser Raum gebucht werden kann. Dieses für ein typisches Zimmer mit zwei Betten, die jeweils zwei Personen passen. Die untergeordnete Kapazität ist um eins geringer als die Gesamtkapazität da im Raum mindestens ein Erwachsener anwesend sein muss.

Erweiterte Beispiele mit <RoomFeatures> und Mahlzeiten

JapaneseHotelRoomStyle hat keinen Standardwert. Das Weglassen eines Werts führt nicht zu einem XML-Fehler. Ihr Eintrag wird jedoch nicht in den Suchergebnissen angezeigt, wenn der Nutzer nach Zimmerstil oder Betten filtert.

2 Einzelbetten

Das folgende Beispiel zeigt, wie <RoomFeatures> verwendet wird:

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

2 Doppelbetten

Hier sehen Sie ein Beispiel für ein Zimmer im western-Stil mit zwei double Betten.

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

Japanischer Stil ohne Bett

Das folgende Beispiel zeigt ein Zimmer im japanischen Stil ohne Bett. Bett Informationen sind für einen Raum im Stil von japanese nicht erforderlich.

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

Japanisches Western-Bett

Das folgende Beispiel zeigt einen Raum im japanese_western-Stil mit king. haben.

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

Wenn der Partner keine Informationen zur Anzahl der Betten in japanese_western hat Zimmer erstellt haben, sehen Sie sich das folgende Beispiel an:

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


Mahlzeiten

Im folgenden Beispiel werden Zimmer- und Paketmetadaten für Mahlzeiten, Fotos, sowie Ankunfts- und Abreisezeiten:

<?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>
<ph type="x-smartling-placeholder">
</ph>

Nur Frühstück

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

Antworten

Syntax

Die Nachricht TransactionResponse (Property Data) verwendet die folgende Syntax:

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

Elemente und Attribute

Die Nachricht TransactionResponse (Property Data) enthält Folgendes: -Elemente und -Attribute:

Element / @Attribut Häufigkeit Typ Beschreibung
TransactionResponse 1 Complex element Das Stammelement, das den Erfolg oder Probleme für eine empfangene Nachricht zur Transaktionsanfrage.
TransactionResponse / @timestamp 1 DateTime Erstellungsdatum und -uhrzeit der Nachricht.
TransactionResponse / @id 1 string Die eindeutige Kennung der zugehörigen Transaktionsnachricht.
TransactionResponse / @partner 1 string Das Partnerkonto für diese Nachricht.
TransactionResponse / Success 0..1 Success Gibt an, dass die Transaktionsnachricht erfolgreich verarbeitet wurde. ohne Warnungen oder Fehler.

Entweder <Success> oder <Issues> ist Nachrichten enthalten.

TransactionResponse / Issues 0..1 Issues Ein Container für ein oder mehrere Probleme, die bei der Verarbeitung der Transaktionsnachricht.

Entweder <Success> oder <Issues> ist Nachrichten enthalten.

TransactionResponse / Issues / Issue 1..n Issue Die Beschreibung einer Warnung oder eines Fehlers, der aufgetreten ist während der Verarbeitung der Transaktionsnachricht. Details zu diesen Problemen finden Sie siehe Fehlermeldungen zum Feedstatus.
TransactionResponse / Issues / Issue / @code 1 integer Die Kennung des Problems.
TransactionResponse / Issues / Issue / @status 1 enum

Die Art des Problems.

Gültige Werte sind warning, error und failure.

Beispiele

Erfolg

Im Folgenden finden Sie eine Antwort auf eine erfolgreich verarbeitete Transaktionsnachricht.

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

Probleme

Im Folgenden finden Sie eine Antwort auf eine Transaktionsnachricht, die aus folgendem Grund nicht verarbeitet wurde: Fehler.

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