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 |
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:
Dieses Attribut ist optional und standardmäßig auf |
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 |
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 Wenn Verwenden Sie entweder |
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 Hinweis:Wenn |
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 |
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 |
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> <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:
<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:
|
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> -Element hat die folgenden untergeordneten Elemente:
<ph type="x-smartling-placeholder">
<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:
Das Element verwendet optional die folgenden untergeordneten Elemente:
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:
|
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 |
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 Wenn Verwenden Sie entweder |
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:
|
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 |
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
Die optionalen Attribute werden nur verwendet, wenn Für Mahlzeitenfilter ( |
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>
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 |
TransactionResponse / Issues | 0..1 | Issues | Ein Container für ein oder mehrere Probleme, die bei der Verarbeitung der
Transaktionsnachricht.
Entweder |
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 |
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>