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 folgende Elemente und Attribute:
Element / @Attribut | Häufigkeit | Typ | Beschreibung |
---|---|---|---|
OTA_HotelRateAmountNotifRQ | 1 | Complex element | Das Stammelement für eine Nachricht vom Typ „Preise“. |
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 Nachrichtenversion von OpenTravel. |
OTA_HotelRateAmountNotifRQ / @NotifType | 0..1 | enum | Der Benachrichtigungstyp, der für jede Gültige Werte sind: Damit Sie die Funktionsweise dieser Attribute verstehen können, sehen Sie sich die Beispiele an.
|
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 „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 der Unterkunft. Dieser Wert muss mit der Hotel-ID übereinstimmen, die mit <id> im Element <listing> im Hotellistenfeed angegeben wird. Die Hotel-ID ist auch im Hotel Center aufgelistet. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | 1..n | RateAmountMessage | Ein Container zum Festlegen von Preisen für einen Zimmerpreis (eine Kombination von 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ß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 start sein.
Wenn start und end gleich sind, gilt die Aktualisierung für dieses Datum. Google unterstützt Daten bis zu drei Jahre. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Mon | 0..1 | boolean | Geben Sie true oder 1 an, um Montagen explizit einzubeziehen.
Wird der Wert auf |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue | 0..1 | boolean | Geben Sie true oder 1 an, um Dienstage explizit einzubeziehen.
Wird der Wert auf |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds | 0..1 | boolean | Geben Sie true oder 1 an, um Mittwoche explizit einzubeziehen.
Wird der Wert auf |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur | 0..1 | boolean | Geben Sie true oder 1 an, um Donnerstage explizit einzubeziehen.
Wird der Wert auf |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri | 0..1 | boolean | Geben Sie true oder 1 an, um Freitage ausdrücklich einzubeziehen.
Wird der Wert auf |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat | 0..1 | boolean | Geben Sie true oder 1 an, um Samstage explizit einzubeziehen.
Wird der Wert auf |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun | 0..1 | boolean | Geben Sie true oder 1 an, um Sonntage explizit einzubeziehen.
Wird der Wert auf |
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 vom Typ „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. Dieser Wert sollte nur mit dem Wert 26 angegeben werden, wenn das auf der Aufenthaltsdauer basierende Preismodell verwendet wird. Wenn dieses Attribut nicht angegeben ist, handelt es sich um eine Preisaktualisierung pro Datum. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | 0..1 | Rates | Container für eine Sammlung von <Rate> -Elementen. Wenn NotifType "Remove" ist, 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, in 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 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 Basisgebühren. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | 1..n | BaseByGuestAmt | Gibt Zimmerpreise in einer bestimmten Währung an. Der Preis kann pro Person berechnet werden, indem mehrere <BaseByGuestAmt> -Elemente verwendet werden, die jeweils einen anderen Wert für NumberOfGuests haben.
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. Sie können 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 Unterkunft nicht gesendet werden. Dieses Attribut kann in Kombination mit AmountBeforeTax verwendet werden, um Basis- und Gesamtpreise bereitzustellen, die Nutzern in bestimmten Regionen angezeigt werden können.
Warnung: Wenn Sie Angebote verwenden, wird 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 Währung.
Eine Liste der unterstützten Währungen finden Sie hier. |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @NumberOfGuests | 0..1 | integer | Maximale Anzahl der Gäste, die mit diesem Preis untergebracht werden können.
Wenn keine Angabe erfolgt, wird standardmäßig „2“ 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 je nach Datum ändern. Wenn diese Beträge statisch auf Unterkunftsebene definiert werden können, sollten Sie die effizientere
Angenommen, Sie haben Grundpreise für 1 und 2 Erwachsene angegeben.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount | 0..n | AdditionalGuestAmount | Gibt Preise basierend auf dem Gasttyp an, der über AgeQualifyingCode und gegebenenfalls über das Alter des Gastes, das über MaxAge angegeben wird, festgelegt wird.
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode | 1 | enum | Hier wird die Art des zusätzlichen Gastes definiert, also „Erwachsener“ oder „Kind“. Gültige Optionen sind:
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge | 0..1 | integer | MaxAge muss angegeben werden, wenn AgeQualifyingCode 8 ist. Sie darf nicht angegeben werden, wenn AgeQualifyingCode 10 ist.
Wenn Sie den Wert Werte über Mehrere Altersgruppen für Kinder können über separate |
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount | 1 | float | Der Betrag vor Steuern und Gebühren, der dem Basispreis für jeden zusätzlichen Gast hinzugefügt wird.
Steuern und Gebühren, die vom Alter der Gäste abhängen, müssen in einer |
Beispiele
Dieser Abschnitt enthält Codebeispiele, in denen Folgendes erläutert wird:
- Basis- und Gesamtpreise festlegen
- Preise hinzufügen, überlagern und entfernen
- Zusätzliche Gäste hinzufügen, überlagern und entfernen
- Preise auf Grundlage der Aufenthaltsdauer einrichten
- Preise auf Grundlage der Aufenthaltsdauer hinzufügen, überlagern und entfernen
Wenn Sie die Werte add
, overlay
oder remove
festlegen, können die Zeiträume je nach Ihren Zielvorhaben 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“. Dadurch werden die Belegungskosten nur für diesen Zeitraum ersetzt.
Preise pro Datum
Für ein bestimmtes Zimmer und einen bestimmten Preisplan können pro Unterkunft maximal 50 Belegungsraten festgelegt werden. Wenn die Preise für alle Belegungen gleich sind, sollten Sie nur die maximale Belegung mit dem erforderlichen Preis senden. Google schließt daraus, dass für die niedrigeren Belegungen ebenfalls derselbe Grundpreis gilt.
Basis- und Gesamtpreise festlegen
Beispiel 1
Basispreis (ohne Steuern oder Gebühren) für die standardmäßige Belegung (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 die Standardbelegung (Doppel). In diesem Modell sollten Steuern und Gebühren mit <TaxFeeInfo>
-Nachrichten nicht separat 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 Mehrfachbelegungen. In diesem Modell sollten Steuern und Gebühren mit <TaxFeeInfo>
-Nachrichten nicht separat 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
Pro Unterkunft sind nur bis zu 5.000 Produkte mit verschiedenen Raumtyp- und Paketkombinationen zulässig. Verwenden Sie die Benachrichtigungstypen Overlay
oder Remove
, um zuvor definierte Produkte zu entfernen.
Preise hinzufügen
Legen Sie NotifType
auf Delta
fest, um die Preise pro Belegung für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und dem 31.12.2021 hinzuzufügen. Google unterstützt bis zu drei Jahre an Daten.
<?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
Legen Sie NotifType
auf Overlay
fest, um alle Preise pro Belegung für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und dem 31.12.2021 zu löschen und sie durch die neu festgelegten Preise pro Belegung zu ersetzen.
Wenn diese Nachricht beispielsweise nach der Nachricht „Preise hinzufügen“ gesendet wurde, würden die Preise für Belegung 1, 2 und 3 gelöscht, und nur der neue Preis für Belegung 1 würde gespeichert. Sie können auch einen kürzeren Zeitraum festlegen, z.B.: 2021-12-20 und 2021-12-31), um nur einige der Belegungstarife 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
Legen Sie NotifType
auf Remove
fest, um alle Preise pro Belegung 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 Nachricht aus den anderen Beispielen gesendet wurde, würden 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 Gästezahlen hinzufügen, überlagern und entfernen
Beträge hinzufügen
Legen Sie NotifType
auf Delta
fest, um die Basispreise für Belegung 1 und 2 sowie zusätzliche Gästezahlen für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und dem 31.12.2021 hinzuzufügen.
Zusätzliche Preise für Gäste werden auf einen Basispreis angewendet, der sich an der Belegung in einer Nutzersuche orientiert. Die vom Nutzer angegebene Belegung muss innerhalb der Kapazität von „RoomID_1“ liegen.
In diesem Beispiel werden zusätzliche Beträge für Gäste so angewendet:
- 5 $ für Kinder im Alter 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>
Overlay-Beträge
Legen Sie NotifType
auf Overlay
fest, um alle Preise pro Belegung und alle zusätzlichen Beträge für Gäste für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und dem 31.12.2021 zu löschen und durch die neu angegebenen Preise pro Belegung und zusätzlichen Beträge zu ersetzen.
Wenn diese Nachricht beispielsweise nach der Nachricht „Preise hinzufügen“ gesendet wurde, würden die Preise für die Belegung 1 und 2 gelöscht, und nur der neue Preis für die Belegung 1 würde gespeichert. Die vorherigen Beträge für zusätzliche Gäste werden gelöscht und nur die neuen Beträge werden gespeichert. Für zusätzliche Gäste wird jetzt der neue Preis für eine Belegung mit einer Person als Grundpreis verwendet. Nach dieser Aktualisierung sind keine zusätzlichen Gebühren für Kinder festgelegt.
<?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 Grundpreise pro Belegung und alle zusätzlichen Beträge für Gäste 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 Nachricht aus den anderen Beispielen gesendet wurde, würden keine Grundpreise 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 Gäste entfernen
Legen Sie NotifType
auf Delta
mit einem leeren <AdditionalGuestAmounts>
-Element fest, um alle zusätzlichen Gästebeträge für RoomID_1 und PackageID_1 zu löschen, ohne die Grundpreise zwischen dem 20.10.2021 und dem 31.12.2021 zu beeinflussen.
Wenn diese Nachricht beispielsweise nach einer Nachricht aus den anderen Beispielen gesendet wurde, würden 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>
Preise je nach Aufenthaltsdauer
Preise basierend auf der Aufenthaltsdauer einrichten
Beispiel 1
Legen Sie Preise für Aufenthalte von 1, 2 und 3 Nächten ab dem 18. Mai 2020 fest. Der Gesamtpreis für Aufenthalte von 1, 2 und 3 Übernachtungen in diesem Beispiel würde jeweils 100 €, 180 € und 240 € betragen.
<?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>
LOS-basierte Preise hinzufügen, überlagern und entfernen
Aufenthaltsdauer(n) hinzufügen
Bei LOS-basierten Preisen können mit einem Delta
-Vorgang die Preise für die in <StatusApplicationControl>
angegebenen Check-in-Zeitraume und für alle Aufenthaltsdauern, die durch das UnitMultiplier
jedes untergeordneten Rate
-Elements angegeben sind, inkrementell aktualisiert werden.
Für jedes gültige Anreisedatum und jede Aufenthaltsdauer müssen alle Preise für die Belegung 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>
Überlagernde Aufenthaltsdauern
Bei LOS-basierten 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 die Preise pro Belegung für alle Aufenthaltsdauern an den angegebenen Anreisedaten entfernt und durch einen Preis für eine Belegung mit zwei Personen ersetzt, der nur für die Aufenthaltsdauer 3 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(n) entfernen
Bei LOS-basierten Preisen werden durch einen Remove
-Vorgang die Preise für alle Aufenthaltsdauern des Produkts und den in <StatusApplicationControl>
angegebenen Check-in-Zeitraum entfernt.
<?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 Nachricht OTA_HotelRateAmountNotifRS
enthält folgende 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 Fehlercodes 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 Fehlercodes für den Feedstatus. |
Beispiele
Erfolg
Die folgende Antwort ist 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>