OTA_HotelRateAmountNotifRQ

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. 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 <RateAmountMessage>

Gültige Werte sind:

Um zu verstehen, wie diese Attribute funktionieren, lesen Sie Beispiele

  • Overlay: Löschen Sie alle Preise pro Person für den Zimmertyp, den Preisplan und die Daten angegeben in <StatusApplicationControl> und durch neue Preise ersetzen.
  • Remove: Löschen Sie alle vorhandenen Preise pro Person für den Zimmertyp, den Preisplan und die Daten in <StatusApplicationControl> angegeben.
  • Delta: (Standardwert, wenn NotifType nicht angegeben ist) Fügen Sie vorhandene Preise pro Belegung hinzu oder aktualisieren Sie sie für den Zimmertyp, den Preisplan und die Termine, die im <StatusApplicationControl>
OTA_HotelRateAmountNotifRQ / @NotifScopeType 0..1 enum

Der Geltungsbereich von NotifType, der auf alle angewendet werden soll <RateAmountMessage>.

Gültige Werte sind:

  • ProductRate: (Standardwert, wenn NotifScopeType nicht angegeben ist) Die NotifType gilt für Produkte – Kombinationen von Zimmertypen (InvTypeCode) und Preisplan (RatePlanCode).
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.
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. Definition des Partners Konto.
OTA_HotelRateAmountNotifRQ / POS / RequestorID / @ID 1 string Das Partnerkonto für diese Nachricht. Dieser Zeichenfolgenwert ist der „Partnerschlüssel“ Wert aufgelistet auf die Seite „Kontoeinstellungen“ im Hotel Center.

Hinweis: Wenn Sie ein Back-End haben, das Feeds für mehrere muss dieser Wert mit dem Wert partner übereinstimmen, Attributwert der Nachricht „Transaktion (Unterkunftsdaten)“ und den ID-Attributwert im <RequestorID>-Element Ihres <OTA_HotelAvailNotifRQ> Nachricht für dieselbe Konto.

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 Mit <id> angegebene Hotel-ID in das Element <listing> im Hotel Listenfeed. 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 (Zimmertyp und -preis). Plankombination für einen Zeitraum).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl 1 StatusApplicationControl Definiert den Zeitraum sowie die IDs für den Zimmertyp (InvTypeCode) und Preisplan (RatePlanCode).
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Start 1 Date Das Startdatum (basierend auf der Zeitzone der Unterkunft), einschließlich, von Zeitraum
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @End 1 Date Das Enddatum (basierend auf der Zeitzone der Unterkunft), einschließlich des Enddatums des Zeitraum. Muss gleich oder größer als der Wert von start sein. Wenn start und end gleich sind, wird die Aktualisierung angewendet bis zu diesem Datum. 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 explizit einzuschließen montags.

Mit der Einstellung true können andere Wochentage diese Kriterien erfüllen. explizit auf true gesetzt sind, ausgeschlossen sind, aus den Daten in Start herausgefiltert und End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Tue 0..1 boolean Legen Sie true oder 1 fest, um explizit einzuschließen Dienstags.

Mit der Einstellung true andere Wochentage, die nicht explizit auf true gesetzt sind, ausgeschlossen sind, aus den Daten in Start herausgefiltert und End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Weds 0..1 boolean Legen Sie true oder 1 fest, um explizit einzuschließen Mittwochs.

Mit der Einstellung true können andere Wochentage diese Kriterien erfüllen. explizit auf true gesetzt sind, ausgeschlossen sind, aus den Daten in Start herausgefiltert und End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Thur 0..1 boolean Legen Sie true oder 1 fest, um explizit einzuschließen Donnerstags.

Mit der Einstellung true können andere Wochentage diese Kriterien erfüllen. explizit auf true gesetzt sind, ausgeschlossen sind, aus den Daten in Start herausgefiltert und End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Fri 0..1 boolean Legen Sie true oder 1 fest, um explizit einzuschließen Freitags.

Mit der Einstellung true können andere Wochentage diese Kriterien erfüllen. explizit auf true gesetzt sind, ausgeschlossen sind, aus den Daten in Start herausgefiltert und End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sat 0..1 boolean Legen Sie true oder 1 fest, um explizit einzuschließen Samstags.

Mit der Einstellung true können andere Wochentage diese Kriterien erfüllen. explizit auf true gesetzt sind, ausgeschlossen sind, aus den Daten in Start herausgefiltert und End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @Sun 0..1 boolean Legen Sie true oder 1 fest, um explizit einzuschließen Sonntags.

Mit der Einstellung true können andere Wochentage diese Kriterien erfüllen. explizit auf true gesetzt sind, ausgeschlossen sind, aus den Daten in Start herausgefiltert und End.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @InvTypeCode 1 string Die eindeutige Kennung für das Inventar (Zimmertyp). Dieser Wert wird zugeordnet an <RoomID> in einer Nachricht „Transaktion (Unterkunftsdaten)“.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanCode 1 string Eine eindeutige Kennung für den Preisplan. Diese Kennung wird der <PackageID> in einer Transaktion (Unterkunftsdaten) angezeigt. Der Preisplan wird weiter definiert und in <StatusApplicationControl> in beiden <OTA_HotelRateAmountNotifRQ> und <OTA_HotelAvailNotifRQ> Nachrichten.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl / @RatePlanType 0..1 string Eine Kennung, die den Typ des ARI-Preismodells angibt, für diese Preisaktualisierung gilt. Geben Sie diesen nur mit einem Wert von 26, wenn das auf der Aufenthaltsdauer basierende Preismodell verwendet wird. Ausschluss Dieses Attribut gibt an, dass es sich um einen Preis pro Datum handelt. aktualisieren.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates 0..1 Rates Container für eine Sammlung von <Rate>-Elementen. Wenn NotifType ist "Remove", dieses Element darf 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> Elemente.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @RateTimeUnit 0..1 String Die Einheit, mit der die Aufenthaltsdauer angegeben wird. Die einzige unterstützte Wert ist "Day", was bedeutet, dass sich die Aufenthaltsdauer auf in Tagen angegeben werden.

So verwenden Sie auf der Aufenthaltsdauer basierende Preise: RateTimeUnit und UnitMultiplier müssen angegeben ist. Andernfalls sollten keines von beiden angegeben werden.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / @UnitMultiplier 0..1 Integer Die Anzahl der RateTimeUnits, die sich aus der Länge von zu diesem Preis bleiben.

Beispiel: Wenn der Wert von RateTimeUnits "Day" ist, wird ein UnitMultiplier von 5 gibt an, dass der/die angegebenen Preise unter diesem Rate-Objekt für jede Nacht eines Aufenthalts von 5 Übernachtungen gelten.

Die unter dieser Rate angegebenen Belegungsraten wird mit UnitMultiplier multipliziert (Dauer des Aufenthalts) angeben, um den Gesamtpreis für den Aufenthalt zu ermitteln.

So verwenden Sie auf der Aufenthaltsdauer basierende Preise: RateTimeUnit und UnitMultiplier müssen angegeben ist. Andernfalls sollten keines von beiden angegeben werden.

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, indem mehrere <BaseByGuestAmt> verwendet werden -Elemente mit jeweils einem anderen Wert für NumberOfGuests. Andernfalls gilt der Preis für eine maximale Anzahl von Personen. definiert durch NumberOfGuests.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @AmountBeforeTax 0..1 float

Der Tagespreis des Zimmerpreises vor Steuern und Gebühren.

Sowohl AmountBeforeTax als auch AmountAfterTax kann angegeben werden. Wenn AmountBeforeTax ist nicht angegeben, AmountAfterTax muss angegeben werden. Wenn AmountBeforeTax ist angegeben und AmountAfterTax nicht angegeben ist, dann gelten Steuern und Gebühren muss in einer <TaxFeeInfo>-Meldung angegeben werden.

Wenn Sie Angebote verwenden, Der Rabatt wird auf AmountBeforeTax angewendet. Prozentsatz Rabatte gelten auch für AmountAfterTax. Da diese funktioniert bei einigen Steuerstrukturen nicht. Wir empfehlen dringend, nur wobei AmountBeforeTax hier angegeben wird und <TaxFeeInfo>, um Steuern und Gebühren anzugeben.

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, trennen Sie jede Property. <TaxFeeInfo> Nachrichten müssen nicht gesendet werden. Dieses Attribut kann in Kombination mit AmountBeforeTax verwendet werden um sowohl Basis- als auch Gesamtpreise bereitzustellen, die Nutzern in in bestimmten Regionen.

Warnung: Wenn Sie Angebote verwenden, raten von der Verwendung von AmountAfterTax ab Beträge. Wenn Sie Rabatte verwenden möchten, geben Sie Steuern und Gebühren an: mit der <TaxFeeInfo>-Nachricht. Ihre Rabatte dann auf AmountBeforeTax-Beträge angewendet.

Hinweis: Wenn AmountBeforeTax nicht angegeben ist, muss AmountAfterTax angegeben werden.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt / @CurrencyCode 1 enum Der ISO 4217 (3)-Alphacode für eine bestimmte Geldeinheit.

Diese finden Sie in der Liste der unterstützten Währungen.

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 <AdditionalGuestAmounts> enthält Gebühren für Kinder, NumberOfGuests bezieht sich nur auf für Erwachsene. Wenn <AdditionalGuestAmounts> nicht spezifiziert ist oder keine Gebühren für Kinder enthält, NumberOfGuests bezieht sich auf die Gesamtzahl der Personen sowohl für Erwachsene als auch für Kinder.

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 zusätzliche Gäste- oder untergeordnete Preise ändern sich je nach Datum. Erwägen Sie die Verwendung der effizienteren ExtraGuestCharges wenn diese Beträge in der Property statisch definiert werden können.

Zusätzliche Gastbeträge werden so angewendet:
  • Sie werden auf den Grundauslastung angewendet. Basis Belegungsrate ist die höchste Belegungsrate, die in <BaseByGuestAmts>, also kleiner oder gleich Anzahl der Erwachsenen in einer Suchanfrage.
  • Sie werden angewendet, solange die Belegung in einer Nutzersuche der Raumkapazität zu überschreiten.
  • <AdditionalGuestAmounts> immer ersetzen die zuvor angegebenen zusätzlichen Beträge mit neuen Beträgen NotifType ist entweder Delta oder Overlay.
  • <AdditionalGuestAmounts> werden möglicherweise gesendet nur dann unabhängig vom Basispreis, wenn NotifType gleich Delta: <BaseByGuestAmts> muss angegeben werden wenn NotifType gleich Overlay ist.
  • Ein leeres <AdditionalGuestAmounts>-Element mit Wenn NotifType auf Delta festgelegt ist, werden vorhandene entfernt zusätzliche Beträge, ohne die Basis-Raten zu beeinflussen.
  • Sie werden mit der Währung angewendet, die in <BaseByGuestAmt>

Beispiel: Angenommen, Basispreise sind für 1 und 2 angegeben. für Erwachsene geeignet ist.

  • Wenn ein Nutzer nach 3 Erwachsenen sucht, würde der Preis für ein Doppelzimmer als Basispreis sowie als zusätzlicher Gastbetrag für 1 Person ausgewählt werden. „nicht jugendfrei“ aufgetragen.
  • Wenn der Nutzer nach einem Erwachsenen und zwei Kindern sucht, wird die Single Belegungsrate als Basispreis ausgewählt. Zusätzliche zusätzliche Beträge für die beiden untergeordneten Elemente angewendet.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount 0..n AdditionalGuestAmount Gibt Preise basierend auf dem Gasttyp an, angegeben durch AgeQualifyingCode und, falls zutreffend, Alter des Gasts angegeben durch MaxAge.
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @AgeQualifyingCode 1 enum Definiert die Art des zusätzlichen Gasts (Erwachsener oder Kind). Gültig Optionen sind:
  • 10: Erwachsene.
  • 8: Kind.

AgeQualifyingCode kann auf 10 gesetzt werden für mindestens ein AdditionalGuestAmount-Element.

MaxAge muss angegeben werden, wenn AgeQualifyingCode hat den Wert 8.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @MaxAge 0..1 integer MaxAge muss angegeben werden, wenn AgeQualifyingCode hat den Wert 8. Darf nicht wird angegeben, wenn AgeQualifyingCode gleich 10 ist.

MaxAge muss eine Ganzzahl zwischen 0 und 17.

Wenn Sie den Wert 0 angeben, werden Belegungen durch Kinder deaktiviert.

Werte über 17 werden als Maximum behandelt akzeptierter Wert von 17.

Mehrere Kinderalter können durch separate AdditionalGuestAmount-Elemente. Altersgruppen müssen zusammenhängend und nicht überlappen.

OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount / @Amount 1 float Betrag vor Steuern und Gebühren, die jeweils zum Basispreis hinzugefügt werden zusätzlicher Gast.

Steuern und Gebühren, die von den Belegungen der Insassen abhängen Altersangaben muss angegeben werden durch das <AgeBrackets>-Element in einer <TaxFeeInfo>-Nachricht.

Beispiele

Dieser Abschnitt enthält Codebeispiele, die zeigen, wie Sie:

Wenn Sie die Werte add, overlay oder remove festlegen, können die Zeiträume je nach Ihren Zielen gleich oder unterschiedlich sind. So können Sie beispielsweise overlay festlegen, dass nur wenige Wochen für die Feiertage im Dezember und nicht Gesamter Bereich für „Preis hinzufügen“ angezeigt. Dadurch wird die Belegung nur für diesen Zeitraum.

Preis pro Datum

Für einen bestimmten Zimmer- und Preisplan können maximal 50 Belegungsraten pro Property. Wenn die Preise für alle Belegungen identisch sind, sollten Sie einfach den maximale Belegungen mit dem erforderlichen Preis. Daraus folgt Google, dass und die niedrigeren Belegungen ebenfalls denselben Basispreis.

Basis- und Gesamtpreise einrichten

Beispiel 1

Basispreis (ohne Steuern oder Gebühren) für eine Standardbelegung (Doppel). In dieser müssen Steuern und Gebühren für die Unterkunft mit einem <TaxFeeInfo>-Nachricht. Der Basispreis ist höher für Nutzer, die in bestimmten Regionen suchen.

<?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 werden Steuern und Gebühren sollten nicht separat mit <TaxFeeInfo> definiert werden. Nachrichten. Der Basispreis wird bei Suchanfragen von in bestimmten Regionen.

<?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. Bei diesem Modell Steuern und Gebühren sollten nicht separat mit <TaxFeeInfo> definiert werden Nachrichten.

<?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 in Zeiträume zu vergleichen.

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

Es gibt ein Limit von 5.000 Produkten (Zimmertyp und Paket). Kombinationen – pro Property. Benachrichtigung Overlay oder Remove verwenden , um zuvor definierte Produkte zu entfernen.

Preise hinzufügen

Legen Sie NotifType auf Delta fest, um Preise pro Belegung hinzuzufügen für RoomID_1 und PackageID_1 zwischen 20.10.2021 und 31.12.2021. Beachten Sie, dass Google unterstützt die Daten von bis zu drei Jahren.

<?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 pro Belegung zu löschen Preise für RoomID_1 und PackageID_1 zwischen 20.10.2021 und 31.12.2021 und ersetzen Sie sie durch die neu angegebenen Preise pro Belegung.

Wenn diese Nachricht beispielsweise nach dem Nachricht, die Preise für Belegung 1, 2 und 3 werden gelöscht und nur die Preise für die neue Belegung 1 Preis gespeichert werden. Sie können auch einen kürzeren Zeitraum festlegen (z.B.: 20.12.2021 und 31.12.2021), um nur einen Teil der Belegung an bestimmten Tagen (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 zu löschen Preise für RoomID_1 und PackageID_1 zwischen 20.10.2021 und 31.12.2021.

Wenn diese Nachricht z. B. nach einem der beiden 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 Basispreise hinzuzufügen für Belegung 1 und 2 und zusätzliche Gästebeträge für Zimmer-ID_1 und PackageID_1 zwischen 20.10.2021 und 31.12.2021.

Zusätzliche Beträge für Gäste werden auf den Basispreis aufgeschlagen, der von der Belegung in der Suchanfrage eines Nutzers bestimmt werden. Der angegebene Nutzer Die 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

Legen Sie NotifType auf Overlay fest, um alle pro Belegung zu löschen Preise und alle zusätzlichen Gastbeträge für RoomID_1 und PackageID_1 zwischen dem 20.10.2021 und 31.12.2021 Preise pro Belegung und zusätzliche Beträge angegeben werden.

Wenn diese Nachricht beispielsweise nach dem Nachricht, die Preise für die Basisbelegung 1 und 2 werden gelöscht und nur die neuen Basispreise Preis für Belegung 1 gespeichert. Die vorherige Gruppe zusätzlicher Gäste werden gelöscht und nur die neuen Beträge gespeichert. Für zusätzliche Gästebeträge wird jetzt der neue Preis für Belegung 1 als Basispreis an. Nach diesem Update sind keine weiteren Gäste mehr für untergeordnete Publisher 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 pro Belegung zu löschen Basispreise und alle zusätzlichen Gastbeträge für RoomID_1 und PackageID_1 20.10.2021 und 31.12.2021.

Wenn diese Nachricht z. B. nach einem der beiden Nachrichten, keine Basispreise pro Belegung oder zusätzliche Gästebeträge gespeichert werden.

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

Legen Sie NotifType auf Delta fest und geben Sie eine leere <AdditionalGuestAmounts>-Element, um alle zu löschen zusätzliche Gastbeträge für RoomID_1 und PackageID_1, ohne dass dies davon betroffen ist Basispreise zwischen dem 20.10.2021 und 31.12.2021.

Wenn diese Nachricht z. B. nach einem der beiden Nachrichten 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. Die 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 Preise werden schrittweise für die Check-in-Zeiträume aktualisiert, die in <StatusApplicationControl> und für alle Aufenthaltsdauern jedes untergeordnete Rate-Elements UnitMultiplier.

Für jedes zutreffende Check-in-Datum und jede Aufenthaltsdauer, alle Belegungen Preise müssen 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 ist ein Overlay-Vorgang ersetzt die Preise für alle Aufenthaltsdauern des Produkts und das Anreisedatum in <StatusApplicationControl> angegebenen Bereich.

Mit dieser Nachricht werden die Preise pro Belegung für alle Aufenthaltsdauern im angegebene Ankunftsdaten werden entfernt und durch eine Doppelbelegung ersetzt. Preis, der nur für die Aufenthaltsdauer von 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 entfernen

Bei auf der Aufenthaltsdauer basierenden Preisen werden die Preise durch einen Remove-Vorgang entfernt für die gesamte Aufenthaltsdauer des Produkts und den Check-in-Zeitraum, die in <StatusApplicationControl>.

<?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 Folgendes: -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 war erfolgreich verarbeitet.

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

OTA_HotelRateAmountNotifRS / Errors 0..1 Errors Ein Container für ein oder mehrere Probleme, die bei der Verarbeitung der OTA_HotelRateAmountNotifRQ-Nachricht.

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

OTA_HotelRateAmountNotifRS / Errors / Error 1..n Error Die Beschreibung eines Fehlers, der bei der Verarbeitung der OTA_HotelRateAmountNotifRQ-Nachricht. Details zu diesen finden Sie unter Fehlermeldungen für den Feedstatus.
OTA_HotelRateAmountNotifRS / Errors / Error / @Type 1 integer Der EWT der OpenTravel Alliance (Fehlerwarnungstyp), der mit dem Fehler. 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 können Sie finden sie unter Fehlermeldungen zum Feedstatus.

Beispiele

Erfolg

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 nicht aufgrund von Fehlern verarbeitet werden.

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