Anfragen
Syntax
Die OTA_HotelRateAmountNotifRQ
-Nachricht 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 OTA_HotelRateAmountNotifRQ
-Nachricht enthält die folgenden Elemente und Attribute:
Element / @Attribute | 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 jeden Gültige Werte sind: Weitere Informationen zur Funktionsweise dieser Attribute finden Sie in den Beispielen.
|
OTA_HotelRateAmountNotifRQ / @NotifScopeType | 0..1 | enum | Der Geltungsbereich 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 Back-End Preisfeeds für mehrere Partnerkonten bereitstellt. |
OTA_HotelRateAmountNotifRQ / POS / Source | 1 | Source | Erforderlich, wenn <POS> vorhanden ist. Ein Container für <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 „Partnerschlüssel“, der im Hotel Center auf der
Seite „Kontoeinstellungen“ aufgeführt ist.
Hinweis:Wenn Sie ein Back-End 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> im Hotellistenfeed 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 Kennungen für den Zimmertyp (InvTypeCode ) und den Preisplan (RatePlanCode ). |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start | 1 | Date | Das (einschließlich) Startdatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End | 1 | Date | Das (einschließlich) Enddatum des Zeitraums (basierend auf der Zeitzone der Unterkunft). Muss gleich oder größer als der Wert start sein.
Wenn start und end gleich sind, wird die Aktualisierung auf dieses Datum angewendet. Beachten Sie, dass Google Daten von bis zu drei Jahren unterstützt. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Geben Sie true oder 1 an, um Montage explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Legen Sie den Wert auf true oder 1 fest, um Dienstage 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 | Geben Sie true oder 1 an, um Samstage explizit einzubeziehen.
Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Geben Sie true oder 1 an, 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 dem <PackageID> in einer Nachricht „Transaktion (Unterkunftsdaten)“ zugeordnet. Der Preisplan ist detaillierter 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 mit dem Wert 26 angegeben werden, wenn das auf der Aufenthaltsdauer basierende Preismodell verwendet wird. Der Ausschluss dieses Attributs weist darauf hin, dass es sich um eine Aktualisierung des Preises 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 für diesen Preis zusammensetzt.
Wenn der Wert von Die in 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 angegebenen Währung an. Der Preis kann pro Belegung berechnet werden, indem mehrere <BaseByGuestAmt> -Elemente mit jeweils einem anderen Wert für NumberOfGuests verwendet werden.
Andernfalls gilt der Preis für eine maximale Anzahl von Personen, die durch NumberOfGuests definiert ist. |
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 keine separaten <TaxFeeInfo> -Nachrichten pro Attribut gesendet werden. Dieses Attribut kann in Kombination mit AmountBeforeTax verwendet werden, um sowohl Basis- als auch Gesamtpreise anzugeben, die Nutzern in bestimmten Regionen angezeigt werden können.
Warnung:Wenn Sie Angebote verwenden, raten wir dringend davon ab, Hinweis:Wenn |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode | 1 | enum | Der Alphazeichencode nach ISO 4217 (3) für eine bestimmte Geldeinheit. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Maximale Anzahl von Gästen, die bei diesem Preis untergebracht werden können.
Wenn keine Angabe erfolgt, werden standardmäßig 2 Gäste verwendet.
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 die Preise für zusätzliche Gäste oder Kinder in Abhängigkeit vom Datum ändern. Verwenden Sie gegebenenfalls die effizientere Nachricht
Angenommen, für 1 und 2 Erwachsene wurden Basispreise angegeben.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | Gibt Preise basierend auf dem über AgeQualifyingCode angegebenen Gasttyp und gegebenenfalls dem über MaxAge angegebenen Alter des Gasts an.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Definiert den Typ des zusätzlichen Gastes, entweder 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.
Mehrere untergeordnete Altersgruppen können durch separate |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Betrag vor Steuern und Gebühren zum Basispreis für jeden weiteren Gast.
Steuern und Gebühren, die vom Alter der Personen abhängen, müssen in einer |
Beispiele
Dieser Abschnitt enthält Codebeispiele, die Folgendes veranschaulichen:
- Basis- und Gesamtpreise festlegen
- Preise hinzufügen, überlagern und entfernen
- Zusätzliche Gastbeträ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. So können Sie beispielsweise overlay
verwenden, um nur einige Wochen für die Feiertage im Dezember festzulegen, anstatt den gesamten Zeitraum für die Nachricht „Preis hinzufügen“ festzulegen. Dadurch werden die Belegungsraten nur für diesen Zeitraum ersetzt.
Preis nach Datum
Basispreise und Gesamtpreise festlegen
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
Basis- und Gesamtpreis für eine Standardbelegung (Doppel). In diesem Modell sollten Steuern und Gebühren nicht separat mit <TaxFeeInfo>
-Nachrichten definiert werden. Für Nutzer, die in bestimmten Regionen eine Suche durchführen, wird der Basispreis 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
Setzen Sie NotifType
auf Delta
, 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 von 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 wird, werden die Preise für Belegung 1, 2 und 3 gelöscht und nur der neue Preis für Belegung 1 gespeichert. Sie können auch einen kürzeren Zeitraum festlegen (z.B. 20.12.2021 und 31.12.2021), um an bestimmten Tagen, z. B. an Feiertagen, nur einen Teil der Preise zu ersetzen.
<?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
Setzen Sie NotifType
auf Delta
, um Basispreise für Belegung 1 und 2 sowie zusätzliche Gästebeträge für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und 31.12.2021 hinzuzufügen.
Zusätzliche Gästebeträge werden auf den Basispreis angerechnet, der durch die Belegung in einer Nutzersuche bestimmt wird. Die vom Nutzer angegebene Belegung muss innerhalb der Kapazität von RoomID_1 liegen.
In diesem Beispiel werden zusätzliche Gastbeträge angewendet als:
- 5 $ für Kinder zwischen 0 und 10 Jahren (einschließlich).
- 10 $ für Kinder zwischen 11 und 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 überlagern
Setzen Sie NotifType
auf Overlay
, um alle Preise 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 und durch die neu festgelegten Preise pro Belegung sowie zusätzliche Beträge zu ersetzen.
Wenn diese Nachricht beispielsweise nach der Nachricht „Preise hinzufügen“ gesendet wurde, würden die Preise für die Basisbelegung 1 und 2 gelöscht und nur der neue Preis für die Basisbelegung 1 gespeichert. Der vorherige Satz von zusätzlichen Gastbeträgen 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 Grundpreis verwendet. Nach dieser Aktualisierung fallen keine zusätzlichen Gastgebühren für Kinder mehr an.
<?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
Setzen Sie NotifType
auf Delete
, um alle Grundpreise pro Belegung und alle zusätzlichen Gästebeträge für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und dem 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
Setze 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 dem 31.12.2021 auswirkt.
Wenn diese Nachricht beispielsweise nach einer der anderen Beispielnachrichten gesendet wurde, werden nur die Grundbeträ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 Aufenthalte mit 1, 2 und 3 Übernachtungen ab dem 18.05.2020 fest. Der Gesamtpreis für Aufenthalte mit 1, 2 und 3 Übernachtungen beträgt in diesem Beispiel 100 $, 180 $ und 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 ermöglicht ein Delta
-Vorgang, dass die Preise für die in <StatusApplicationControl>
angegebenen Check-in-Zeiträume und für alle Aufenthaltsdauern, die durch die UnitMultiplier
der untergeordneten Rate
-Elemente angegeben sind, schrittweise aktualisiert werden.
Für jedes anwendbare Check-in-Datum und jede Aufenthaltsdauer müssen alle Belegungspreise 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>
Overlay-Dauer des Aufenthalts
Bei auf der Aufenthaltsdauer basierenden Preisen ersetzt ein Overlay
-Vorgang die Preise für die gesamte Aufenthaltsdauer des Produkts und den in <StatusApplicationControl>
angegebenen Check-in-Zeitraum.
Mit dieser Nachricht werden die Preise pro Belegung für alle Aufenthaltsdauern an den angegebenen Ankunftsdaten entfernt und durch einen Preis für ein Doppelzimmer ersetzt, der nur für eine Aufenthaltsdauer von 3 Tagen 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 entfernt ein Remove
-Vorgang die Preise für die gesamte Aufenthaltsdauer des Produkts und den in <StatusApplicationControl>
angegebenen Check-in-Zeitraum.
<?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 OTA_HotelRateAmountNotifRS
-Nachricht 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 Nachricht OTA_HotelRateAmountNotifRS
enthält die folgenden Elemente und Attribute:
Element / @Attribute | 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.
In jeder Nachricht ist 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.
In jeder Nachricht ist entweder |
OTA_HotelRateAmountNotifRS / Errors / Error | 1..n | Error | Die Beschreibung eines Fehlers, der bei der Verarbeitung der OTA_HotelRateAmountNotifRQ -Meldung 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 verbundene OpenTravel Alliance ERR (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-ID für das Problem. Details zu diesen Fehlern finden Sie unter Fehlercodes 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>