Anfragen
Syntax
Die Nachricht OTA_HotelRateAmountNotifRQ
verwendet die folgende Syntax:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
EchoToken="message_ID"
TimeStamp="timestamp"
Version="3.0"
NotifType="[Overlay|Delta|Remove]"
NotifScopeType="[ProductRate]">
<POS>
<Source>
<RequestorID ID="partner_key"/>
</Source>
</POS>
<RateAmountMessages HotelCode="HotelID">
<RateAmountMessage>
<StatusApplicationControl Start="YYYY-MM-DD"
End="YYYY-MM-DD"
Mon="boolean_value"
Tue="boolean_value"
Weds="boolean_value"
Thur="boolean_value"
Fri="boolean_value"
Sat="boolean_value"
Sun="boolean_value"
InvTypeCode="RoomID"
RatePlanCode="PackageID"
RatePlanType="[26]" />
<Rates>
<Rate>
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="float"
AmountAfterTax="float"
CurrencyCode="currency"
NumberOfGuests="integer"/>
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount Amount="float"
AgeQualifyingCode="[10|8]"
MaxAge="integer"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
Elemente und Attribute
Die Nachricht OTA_HotelRateAmountNotifRQ
enthält die folgenden Elemente und Attribute:
Element / @Attribut | Häufigkeit | Typ | Beschreibung |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | Das Stammelement für eine Preisnachricht. |
OTA_HotelRateAmountNotifRQ / @xmlns | 0..1 | string (URI) | Der XML-Namespace. |
OTA_HotelRateAmountNotifRQ / @EchoToken | 1 | string | Eine eindeutige Kennung für diese Anfragenachricht. Dieser Wert wird in der Antwortnachricht zurückgegeben. Zulässige Zeichen sind a-z , A-Z , 0-9 , _ (underscore) und - (dash) . |
OTA_HotelRateAmountNotifRQ / @TimeStamp | 1 | DateTime | Erstellungsdatum und -uhrzeit der Nachricht. |
OTA_HotelRateAmountNotifRQ / @Version | 1 | decimal | Die OpenTravel-Nachrichtenversion. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | Der Benachrichtigungstyp, der für jede Gültige Werte sind: Weitere Informationen zur Funktionsweise dieser Attribute findest du in den Beispielen.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | Der Bereich von Gültige Werte sind:
|
OTA_HotelRateAmountNotifRQ / POS | 0..1 | POS | Ein Container zum Angeben des Partnerkontos für diese Nachricht. Wird normalerweise verwendet, wenn Ihr Backend Preisfeeds für mehrere Partnerkonten bereitstellt. |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | Erforderlich, wenn <POS> vorhanden ist. Ein Container für die <RequestorID> . |
OTA_HotelRateAmountNotifRQ / POS / RequestorID | 1 | RequestorID | Erforderlich, wenn <POS> vorhanden ist. Definiert das Partnerkonto. |
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID | 1 | string | Das Partnerkonto für diese Nachricht. Dieser Stringwert ist der Wert für „Partnerschlüssel“, der im Hotel Center auf der
Seite „Kontoeinstellungen“ aufgeführt ist.
Hinweis:Wenn Sie ein Backend haben, das Feeds für mehrere Konten bereitstellt, muss dieser Wert mit dem Attributwert |
OTA_HotelRateAmountNotifRQ / RateAmountMessages | 1 | RateAmountMessages | Eine Sammlung von <RateAmountMessage> -Elementen, die Preise definieren. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / @HotelCode | 1 | string | Die eindeutige Kennung für die Unterkunft. Dieser Wert muss mit der Hotel-ID übereinstimmen, die mit <id> im Element <listing> des Hotellistenfeeds angegeben wurde. Die Hotel-ID ist auch im Hotel Center aufgeführt. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Ein Container zum Festlegen von Preisen für einen Zimmerpreis (eine Kombination aus Zimmertyp und Preisplan über einen Zeitraum). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | 1 | StatusApplicationControl | Definiert den Zeitraum sowie die IDs für den Zimmertyp (InvTypeCode ) und den Preisplan (RatePlanCode ). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | Das einschließliche Startdatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | Das einschließliche Enddatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Muss gleich oder größer als der Wert von start sein.
Wenn start und end gleich sind, wird die Aktualisierung auf dieses Datum angewendet. Beachten Sie, dass Google Daten aus bis zu drei Jahren unterstützt. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Legen Sie true oder 1 fest, um Montage explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Legen Sie true oder 1 fest, um Dienstags explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Legen Sie true oder 1 fest, um Mittwoche explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Legen Sie true oder 1 fest, um Donnerstage explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Legen Sie true oder 1 fest, um Freitage explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Legen Sie true oder 1 fest, um Samstage explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Legen Sie true oder 1 fest, um Sonntage explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode | 1 | string | Die eindeutige Kennung für das Inventar (Zimmertyp). Dieser Wert ist <RoomID> in einer Nachricht „Transaktion (Unterkunftsdaten)“ zugeordnet. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode | 1 | string | Eine eindeutige Kennung für den Preisplan. Diese Kennung ist <PackageID> in einer Nachricht „Transaktion (Unterkunftsdaten)“ zugeordnet. Der Preisplan wird weiter definiert und in <StatusApplicationControl> in den Nachrichten <OTA_HotelRateAmountNotifRQ> und <OTA_HotelAvailNotifRQ> referenziert. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType | 0..1 | string | Eine Kennung, die den Typ des ARI-Preismodells angibt, das für diese Preisaktualisierung gilt. Dies sollte nur beim auf der Aufenthaltsdauer basierenden Preismodell mit dem Wert 26 angegeben werden. Der Ausschluss dieses Attributs bedeutet, dass es sich um einen aktualisierten Preis pro Datum handelt. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | Container für eine Sammlung von <Rate> -Elementen. Wenn NotifType den Wert "Remove" hat, darf dieses Element nicht angegeben werden. Andernfalls muss dieses Element genau einmal angegeben werden. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | 1 | Rate | Container für eine Sammlung von <BaseByGuestAmts> -Elementen. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit | 0..1 | String | Die Einheit, mit der die Aufenthaltsdauer angegeben wird. Der einzige unterstützte Wert ist "Day" . Das bedeutet, dass die Aufenthaltsdauer in Tagen angegeben wird.
Wenn Sie auf der Aufenthaltsdauer basierende Preise verwenden möchten, müssen |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier | 0..1 | Integer | Die Anzahl der RateTimeUnits , aus denen sich die Aufenthaltsdauer dieses Preises zusammensetzt.
Beispiel: Wenn der Wert von Die unter diesem Wenn Sie auf der Aufenthaltsdauer basierende Preise verwenden möchten, müssen |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | 1 | BaseByGuestAmts | Container für eine Sammlung von Grundgebühren. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | Gibt Zimmerpreise in einer bestimmten Währung an. Der Preis kann pro Belegung berechnet werden, indem mehrere <BaseByGuestAmt> -Elemente verwendet werden, die jeweils einen anderen Wert für NumberOfGuests haben.
Andernfalls gilt der Preis für eine durch NumberOfGuests definierte maximale Anzahl von Personen. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax | 0..1 | float |
Der Tagespreis des Zimmerpreises vor Steuern und Gebühren. Sowohl Wenn Sie Angebote verwenden, wird der Rabatt auf |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountAfterTax | 0..1 | float | Der Tagespreis des Zimmerpreises nach Abzug der anwendbaren Steuern und Gebühren. Wenn AmountAfterTax angegeben ist, müssen separate <TaxFeeInfo> -Nachrichten pro Property nicht gesendet werden. Dieses Attribut kann in Kombination mit AmountBeforeTax verwendet werden, um sowohl Grund- als auch Gesamtpreise anzugeben, die Nutzern in bestimmten Regionen angezeigt werden können.
Warnung:Wenn Sie Angebote verwenden, raten wir dringend von der Verwendung von Hinweis: Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | Der ISO 4217 (3)-Alphacode für eine bestimmte Geldeinheit. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Maximale Anzahl von Gästen, die zu diesem Preis aufgenommen werden können.
Wenn keine Angabe gemacht wird, werden standardmäßig 2 Gäste verwendet.
Hinweis: Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | 0..1 | AdditionalGuestAmounts | Container für eine Sammlung von Gebühren für zusätzliche Gäste.
Diese Syntax ist nützlich, wenn sich zusätzliche Gäste- oder untergeordnete Preise je nach Datum ändern. Verwenden Sie die effizientere Nachricht
Angenommen, Grundpreise für 1 und 2 Erwachsene sind angegeben.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | Gibt Preise basierend auf dem über AgeQualifyingCode angegebenen Gasttyp und, falls zutreffend, auf dem über MaxAge angegebenen Alter des Gasts an.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Definiert die Art des zusätzlichen Gasts (Erwachsener oder Kind). Gültige Optionen:
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | MaxAge muss angegeben werden, wenn AgeQualifyingCode gleich 8 ist. Er darf nicht angegeben werden, wenn AgeQualifyingCode den Wert 10 hat.
Wenn Sie den Wert Werte größer als Es können mehrere Altersgruppen für Kinder durch separate |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Betrag vor Steuern und Gebühren, der zum Basispreis für jeden weiteren Gast aufgeschlagen wird.
Steuern und Gebühren, die vom Alter der Personen abhängen, müssen über das Element |
Beispiele
Dieser Abschnitt enthält Codebeispiele, die zeigen, wie Sie:
- Basis- und Gesamtpreise einrichten
- Preise hinzufügen, überlagern und entfernen
- Zusätzliche Gästebeträge hinzufügen, überlagern und entfernen
- Auf der Aufenthaltsdauer basierende Preise einrichten
- Auf der Aufenthaltsdauer basierende Preise hinzufügen, überlagern und entfernen
Wenn Sie die Werte add
, overlay
oder remove
festlegen, können die Zeiträume je nach Ihren Zielen gleich oder unterschiedlich sein. Mit overlay
können Sie beispielsweise nur wenige Wochen für die Feiertage im Dezember festlegen, anstatt den gesamten Zeitraum für die Nachricht „Preis hinzufügen“ festzulegen. Dadurch werden nur die Belegungsraten für diesen Zeitraum ersetzt.
Preis pro Datum
Basis- und Gesamtpreise einrichten
Beispiel 1
Basispreis (ohne Steuern oder Gebühren) für eine Standardbelegung (Doppel). In diesem Modell müssen Steuern und Gebühren für die Unterkunft mit einer <TaxFeeInfo>
-Nachricht definiert werden. Der Basispreis wird für Nutzer, die in bestimmten Regionen suchen, stärker hervorgehoben.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Beispiel 2
Grund- und Gesamtpreis für die Standardbelegung (Doppel). In diesem Modell sollten Steuern und Gebühren nicht separat mit <TaxFeeInfo>
-Nachrichten definiert werden. Der Basispreis wird für Nutzer, die in bestimmten Regionen suchen, stärker hervorgehoben.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Beispiel 3
Gesamtpreis (mit Steuern und Gebühren) für mehrere Belegungen. In diesem Modell sollten Steuern und Gebühren nicht separat mit <TaxFeeInfo>
-Nachrichten definiert werden.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountAfterTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Beispiel 4
Basis- und Gesamtpreis für mehrere Zimmertypen und Preispläne für verschiedene Zeiträume.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" AmountAfterTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> <RateAmountMessage> <StatusApplicationControl Start="2020-05-01" End="2020-05-31" InvTypeCode="RoomID_2" RatePlanCode="PackageID_2"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" AmountAfterTax="220.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Preise hinzufügen, überlagern und entfernen
Preise hinzufügen
Legen Sie NotifType
auf Delta
fest, um Preise pro Belegung für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und 31.12.2021 hinzuzufügen. Beachten Sie, dass Google Daten aus bis zu drei Jahren unterstützt.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> <BaseByGuestAmt AmountBeforeTax="120.00" CurrencyCode="USD" NumberOfGuests="3"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Preise überlagern
Setzen Sie NotifType
auf Overlay
, um alle Preise pro Belegung für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und 31.12.2021 zu löschen und durch die neu angegebenen Preise pro Belegung zu ersetzen.
Wenn diese Nachricht beispielsweise nach der Nachricht „Preise hinzufügen“ gesendet wurde, werden die Preise für Belegung 1, 2 und 3 gelöscht und nur der neue Preis für Belegung 1 wird gespeichert. Sie können auch einen kürzeren Zeitraum festlegen (z.B. 20.12.2021 und 31.12.2021), um nur einen Teil der Belegungsraten an bestimmten Tagen zu ersetzen, z. B. an Feiertagen.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Preise entfernen
Setzen Sie NotifType
auf Remove
, um alle Preise pro Belegung für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und 31.12.2021 zu löschen.
Wenn diese Nachricht beispielsweise nach einer der anderen Beispielnachrichten gesendet wurde, werden keine Preise pro Belegung gespeichert.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Zusätzliche Gastbeträge hinzufügen, überlagern und entfernen
Beträge hinzufügen
Legen Sie NotifType
auf Delta
fest, um zwischen dem 20.10.2021 und 31.12.2021 die Basispreise für die Belegung 1 und 2 sowie zusätzliche Gästebeträge für RoomID_1 und PackageID_1 hinzuzufügen.
Zusätzliche Preise für Gäste werden auf den Basispreis angewendet, der durch die Belegung in einer Nutzersuche ermittelt wird. Die vom Nutzer angegebene Belegung muss innerhalb der Kapazität von RoomID_1 liegen.
In diesem Beispiel werden zusätzliche Gastbeträge wie folgt angewendet:
- 5 $ für Kinder von 0 bis 10 Jahren (einschließlich).
- 10 $ für Kinder im Alter von 11 bis 17 Jahren (einschließlich).
- 20 $ für Erwachsene.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="1"/> <BaseByGuestAmt AmountBeforeTax="110.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="5.00" AgeQualifyingCode="8" MaxAge="10" /> <AdditionalGuestAmount Amount="10.00" AgeQualifyingCode="8" MaxAge="17" /> <AdditionalGuestAmount Amount="20.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Beträge einblenden
Setzen Sie NotifType
auf Overlay
, um alle Preise pro Belegung und alle zusätzlichen Gästepreise für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und 31.12.2021 zu löschen und durch die neu angegebenen Preise pro Belegung und zusätzliche Beträge zu ersetzen.
Wenn diese Nachricht beispielsweise nach der Nachricht „Preise hinzufügen“ gesendet wurde, werden die Preise für die Basisbelegung 1 und 2 gelöscht und nur der neue Preis für die Basisbelegung 1 wird gespeichert. Der vorherige Satz zusätzlicher Gastbeträge wird gelöscht und nur der neue Satz von Beträgen wird gespeichert. Für zusätzliche Gästebeträge wird jetzt der neue Preis für Belegung 1 als Basispreis verwendet. Nach dieser Aktualisierung werden für Kinder keine zusätzlichen Gastgebühren mehr definiert.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="200.00" CurrencyCode="USD" NumberOfGuests="1"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount Amount="30.00" AgeQualifyingCode="10" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Beträge entfernen
Legen Sie NotifType
auf Delete
fest, um alle Basispreise pro Belegung und alle zusätzlichen Gästebeträge für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und 31.12.2021 zu löschen.
Wenn diese Nachricht beispielsweise nach einer der anderen Beispielnachrichten gesendet wurde, werden keine Basispreise pro Belegung oder zusätzliche Gästebeträge gespeichert.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate">> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Nur zusätzliche Gastbeträge entfernen
Setzen Sie NotifType
auf Delta
mit einem leeren <AdditionalGuestAmounts>
-Element, um alle zusätzlichen Gastbeträge für RoomID_1 und PackageID_1 zu löschen, ohne dass sich dies auf die Basispreise zwischen dem 20.10.2021 und 31.12.2021 auswirkt.
Wenn diese Nachricht beispielsweise nach einer der anderen Beispielnachrichten gesendet wurde, werden nur die Basisbeträge gespeichert.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <Rates> <Rate> <AdditionalGuestAmounts/> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Auf der Aufenthaltsdauer basierende Preise
Auf der Aufenthaltsdauer basierende Preise einrichten
Beispiel 1
Legen Sie Preise für 1, 2 oder 3 Übernachtungen ab dem 18.05.2020 fest. Der Gesamtpreis für 1, 2 und 3 Übernachtungen beträgt in diesem Beispiel 100 $, 180 $ bzw. 240 $.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="1" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="100.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="2" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="90.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Auf der Aufenthaltsdauer basierende Preise hinzufügen, überlagern und entfernen
Aufenthaltsdauer hinzufügen
Bei auf der Aufenthaltsdauer basierenden Preisen können mit einem Delta
-Vorgang die Preise schrittweise für die in <StatusApplicationControl>
angegebenen Check-in-Zeiträume und für alle Aufenthaltsdauern aktualisiert werden, die durch UnitMultiplier
jedes untergeordneten Rate
-Elements angegeben werden.
Für jedes zutreffende Check-in-Datum und jede Aufenthaltsdauer müssen alle Belegungsraten angegeben werden.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Delta" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Aufenthaltsdauer(n) einblenden
Bei auf der Aufenthaltsdauer basierenden Preisen ersetzt ein Overlay
-Vorgang die Preise für alle Aufenthaltsdauern des Produkts und den in <StatusApplicationControl>
angegebenen Check-in-Zeitraum.
Mit dieser Nachricht werden Preise pro Belegung für alle Aufenthaltsdauern an den angegebenen Ankunftsdaten entfernt und durch einen Doppelbelegungspreis ersetzt, der nur für eine Aufenthaltsdauer von 3 Jahren definiert ist.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2020-05-19T20:50:37-05:00" Version="3.0" NotifType="Overlay" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-18" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> <Rates> <Rate UnitMultiplier="3" RateTimeUnit="Day"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="80.00" CurrencyCode="USD" NumberOfGuests="2"/> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Aufenthaltsdauer entfernen
Bei auf der Aufenthaltsdauer basierenden Preisen werden durch einen Remove
-Vorgang die Preise für alle Aufenthaltsdauern des Produkts und des Check-in-Zeitraums entfernt, die in <StatusApplicationControl>
angegeben sind.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0" NotifType="Remove" NotifScopeType="ProductRate"> <RateAmountMessages HotelCode="Property_1"> <RateAmountMessage> <StatusApplicationControl Start="2021-10-20" End="2021-12-31" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1" RatePlanType="26"/> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
Antworten
Syntax
Die Nachricht OTA_HotelRateAmountNotifRS
verwendet die folgende Syntax:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
TimeStamp="timestamp"
EchoToken="echo_token"
Version="3.0">
<!-- Either Success or Errors will be populated. -->
<Success/>
<Errors>
<Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
Elemente und Attribute
Die OTA_HotelRateAmountNotifRS
-Nachricht enthält die folgenden Elemente und Attribute:
Element / @Attribut | Häufigkeit | Typ | Beschreibung |
---|---|---|---|
OTA_HotelRateAmountNotifRS | 1 | Complex element | Das Stammelement für eine Antwort auf eine Verfügbarkeitsnachricht. |
OTA_HotelRateAmountNotifRS / @TimeStamp | 1 | DateTime | Erstellungsdatum und -uhrzeit der Nachricht. |
OTA_HotelRateAmountNotifRS / @EchoToken | 1 | string | Die eindeutige Kennung der zugehörigen OTA_HotelRateAmountNotifRQ -Nachricht. |
OTA_HotelRateAmountNotifRS / Success | 0..1 | Success | Gibt an, dass die Nachricht OTA_HotelRateAmountNotifRQ erfolgreich verarbeitet wurde.
Entweder |
OTA_HotelRateAmountNotifRS / Errors | 0..1 | Errors | Ein Container für ein oder mehrere Probleme, die bei der Verarbeitung der Nachricht OTA_HotelRateAmountNotifRQ aufgetreten sind.
Entweder |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | Die Beschreibung eines Fehlers, der bei der Verarbeitung der Nachricht OTA_HotelRateAmountNotifRQ aufgetreten ist. Details zu diesen Fehlern finden Sie unter Fehlermeldungen für den Feedstatus. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Type | 1 | integer | Der mit dem Fehler verknüpfte OpenTravel Alliance EWT (Error Warning Type, Art der Fehlerwarnung). Nur der Wert 12 (Processing exception) wird verwendet. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | integer | Der mit dem Fehler verknüpfte OpenTravel Alliance ERR (Error Code, Fehlercode).
Nur der Wert 450 (Unable to process) wird verwendet. |
OTA_HotelRateAmountNotifRS / Errors / Error / @Code | 1 | enum | Der Status der ursprünglichen Anfrage. Nur der Wert NotProcessed wird verwendet. |
OTA_HotelRateAmountNotifRS / Errors / Error / @ShortText | 1 | string | Die Google-Kennung für das Problem. Details zu diesen Fehlern finden Sie unter Fehlermeldungen für den Feedstatus. |
Beispiele
Abgeschlossen
Im Folgenden finden Sie eine Antwort auf eine erfolgreich verarbeitete OTA_HotelRateAmountNotifRQ-Nachricht.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelRateAmountNotifRS>
Fehler
Im Folgenden finden Sie eine Antwort auf eine OTA_HotelRateAmountNotifRQ-Nachricht, die aufgrund von Fehlern nicht verarbeitet wurde.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" TimeStamp="2021-10-20T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelRateAmountNotifRS>