Zusätzliche Gästegebühren

Über <OTA_HotelRateAmountNotifRQ> gesendete Preise können geändert werden, um zusätzlich zur ursprünglichen Anzahl von Gästen auch Erwachsene und Kinder zu berücksichtigen. Mit der Nachricht ExtraGuestCharges können Sie angeben, wie Preise für diese zusätzlichen Gäste berechnet werden sollen und für welche Zimmer, Preispläne und Aufenthaltsdaten die Gebühren gelten sollen.

Kapazitätsanforderungen

Aus der ExtraGuestCharges-Nachricht berechnete Preise sind nur gültig, wenn alle Kapazitätsanforderungen erfüllt sind. Weitere Informationen finden Sie unter Transaktion (Unterkunftsdaten).

Anfragen

Syntax

Die Nachricht ExtraGuestCharges verwendet die folgende Syntax:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges partner="partner_account_name"
                   id="message_ID"
                   timestamp="timestamp">
  <HotelExtraGuestCharges hotel_id="HotelID" action="[overlay]">
    <ExtraGuestCharge>
      <RatePlans>
        <RatePlan id="PackageID_1"/>
        <RatePlan id="PackageID_2"/>
      </RatePlans>
      <RoomTypes>
        <RoomType id="RoomID_1"/>
        <RoomType id="RoomID_2"/>
      </RoomTypes>
      <StayDates>
        <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD"
                   days_of_week="MTWHFSU_or_subset"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="float"/>
        <ChildAgeBrackets>
        <!-- The following are different ways child charges can be specified.
        Use the option that matches your system. -->
          <ChildAgeBracket max_age="integer" amount="float"
                           exclude_from_capacity="[true|false]"/>
          <ChildAgeBracket max_age="integer" percentage="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
          <ChildAgeBracket max_age="integer" discount_amount="float"
                           exclude_from_capacity="[true|false]"
                           counts_as_base_occupant="[never|preferred|always]"/>
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

Elemente und Attribute

Die Nachricht ExtraGuestCharges enthält die folgenden Elemente und Attribute:

Element / @Attribut Häufigkeit Typ Beschreibung
ExtraGuestCharges 1 Complex element Das Stammelement der Nachricht.
ExtraGuestCharges / @partner 1 string Das Partnerkonto für diese Nachricht. Dieser Stringwert ist der Wert Partner key, 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 ID im Element <RequestorID> der Nachrichten <OTA_HotelRateAmountNotifRQ> und <OTA_HotelAvailNotifRQ> für dasselbe Konto übereinstimmen.

ExtraGuestCharges / @id 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, _ (Unterstrich) und - (Bindestrich).
ExtraGuestCharges / @timestamp 1 DateTime Erstellungsdatum und -uhrzeit der Nachricht.
ExtraGuestCharges / HotelExtraGuestCharges 0..n HotelExtraGuestCharges Container für Gebühren für eine einzelne Unterkunft.
ExtraGuestCharges / HotelExtraGuestCharges / @hotel_id 1 string Die eindeutige Kennung für die Unterkunft. Dieser Wert muss mit der Hotel-ID übereinstimmen, die mit <id> im Element <listing> des Hotellistenfeeds angegeben wurde. Die Hotel-ID ist auch im Hotel Center aufgeführt.
ExtraGuestCharges / HotelExtraGuestCharges / @action 0..1 enum Gibt an, wie das Update angewendet wird. Es wird nur overlay unterstützt. Der Standardwert ist „Overlay“. Alle vorherigen Gebühren für diese Unterkunft werden gelöscht, bevor die Aktualisierung angewendet wird.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge 0..99 ExtraGuestCharge

Eine einzelne Gruppe von Gebühren für eine Unterkunft. Dies kann Einschränkungen in Bezug auf die Anwendung von Gebühren und die Berechnung von Gebühren nach Alter oder Gastkategorie beinhalten.

Jeder ExtraGuestCharge in einer HotelExtraGuestCharges muss für einen eindeutigen Satz von Daten und Produkten gelten. Wenn sich zwei ExtraGuestCharge-Elemente auf dieselbe Kombination aus Datum und Produkt beziehen, wird die gesamte Nachricht abgelehnt.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets 1 AgeBrackets Ein Container mit Altersgruppen für die Berechnung der Gebühren nach Alter oder Gastkategorie.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge 0..1 AdultCharge Container für die Gebühr für einen weiteren Erwachsenen.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge / @amount 0..1 float Ein positiver Dezimalwert, der den Pauschalbetrag für einen weiteren Erwachsenen angibt. Für diese Gebühr wird dieselbe Währung verwendet, die für Übernachtungspreise angegeben wurde.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Container für zusätzliche untergeordnete Gebühren. Diese Altersgruppen decken möglicherweise nur die Altersgruppe von 0 bis 17 Jahren ab.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..99 ChildAgeBracket Eine Gebühr, die für Kinder in einer bestimmten Altersgruppe gilt. Diese sollten vom niedrigsten max_age bis zum höchsten max_age geordnet werden. Der zu berechnende Betrag kann mit amount, percentage oder discount_amount angegeben werden. Für jede <ChildAgeBracket> muss genau eines dieser Attribute angegeben werden.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer Das Höchstalter, für das die in <ChildAgeBracket> angegebenen Gebühren anfallen können. Das Mindestalter ist null, wenn vor diesem keine anderen <ChildAgeBracket> angegeben sind. Andernfalls ist es um eins größer als das Höchstalter der vorherigen Klasse.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @exclude_from_capacity 1 boolean Ein boolescher Wert, der angibt, ob ein Kind in dieser Altersgruppe auf die Gesamt- und Kinderkapazität eines Zimmers angerechnet werden soll. Diese Kapazitäten können mit Transaktion(Unterkunftsdaten) festgelegt werden. Zum Beispiel müssen Kleinkinder unter einem bestimmten Alter möglicherweise nicht auf die Kapazität angerechnet werden.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 0..1 float Ein nicht negativer Dezimalwert, der den Pauschalbetrag angibt, der für ein zusätzliches untergeordnetes Element in dieser Klammer berechnet wird. Für diese Gebühr wird dieselbe Währung verwendet, die für Übernachtungspreise angegeben wurde.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @percentage 0..1 float

Ein Dezimalwert von 1–99, der den Prozentsatz des Erwachsenenpreises angibt, der für ein weiteres Kind in dieser Klasse berechnet werden soll. Für diese Gebühr wird dieselbe Währung verwendet, die für Übernachtungspreise angegeben wurde.

Weitere Informationen dazu, wie der Preis für Erwachsene berechnet wird, findest du in der Diskussion unter counts_as_base_occupant.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @discount_amount 0..1 float

Ein positiver Dezimalwert, der einen Pauschalrabatt auf den Erwachsenenpreis für ein weiteres Kind in dieser Klasse angibt. Für diese Gebühr wird dieselbe Währung verwendet, die für Übernachtungspreise angegeben wurde.

In der Regel wird der Pauschalbetrag vom „Stückpreis“ abgezogen. Der Preis pro Einheit wird im Abschnitt zum Attribut counts_as_base_occupant ausführlicher erläutert.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @counts_as_base_occupant 0..1 string

Wenn das Attribut percentage oder discount_amount angegeben ist, muss auch counts_as_base_occupant angegeben werden. Dieser Wert bestimmt, ob ein untergeordnetes Element in NumberOfGuest einbezogen werden soll, wenn Sie einen <BaseByGuestAmount>-Preis zum Anwenden von prozentualen Gebühren und Rabatten auswählen.

Das Ziel besteht darin, einen „Einheitspreis“ zu erhalten, aus dem sich die tatsächliche Gebühr berechnen lässt.

unit price = rate / occupancy

Der Wert dieses Attributs muss never, preferred oder always sein.

  • Wenn never angegeben ist, sollte das Kind niemals in die Belegung im Preis einbezogen werden.

    Wenn Sie einen Preis für 2 Erwachsene und 2 Kinder (2 + 2) berechnen möchten, sollten Sie den Preis für 2 Erwachsene verwenden, da die Kinder nicht inbegriffen sein sollten.

  • Wenn preferred angegeben ist, sollte das Kind im Zimmerpreis enthalten sein.

    Wenn Sie einen Preis für 2 Erwachsene und 1 Kind (2 + 1) berechnen möchten, sollten Sie den Preis für 3 Erwachsene verwenden. Wenn dieser nicht gefunden wird, sollten Sie den Preis für 2 Erwachsene verwenden.

  • Wenn always angegeben ist, sollte das Kind immer im Belegung des Preises berücksichtigt werden.

    Wenn Sie einen Preis für 2 Erwachsene und 2 Kinder (2 + 2) berechnen möchten, sollten Sie den Preis für 4 Erwachsene verwenden, da die Kinder eingeschlossen sein müssen.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes 0..1 RoomTypes Container für eine Liste von Zimmertypen, für die Gebühren anfallen. Die Gebühren werden auf jeden angegebenen <RoomType> angewendet. Wenn <RoomTypes> nicht angegeben ist, gelten die Gebühren für alle Zimmer innerhalb der angegebenen Unterkunft.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType 1..n RoomType Gibt einen Zimmertyp an. Ein Zimmertyp wird in einem <RoomData>-Element in einer Nachricht Transaktion (Unterkunftsdaten) definiert und mit seinem <RoomID>-Wert referenziert. (Sein <RoomID>-Wert wird auch durch das Attribut InvTypeCode in OTA_HotelRateAmountNotifRQ-Nachrichten referenziert.)
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes / RoomType / @id 1 string Die eindeutige Kennung für das Inventar (Zimmertyp). Dieser Wert ist <RoomID> in einer Nachricht „Transaktion (Unterkunftsdaten)“ zugeordnet. Es sind maximal 50 Zeichen zulässig.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans 0..1 RatePlans Container für eine Liste von Preisplänen, für die Gebühren anfallen. Wenn <RatePlans> nicht angegeben ist, gelten die Gebühren für alle Preispläne.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan 1..n RatePlan Gibt einen Preisplan an. Ein Preisplan wird durch eine Kombination aus Paket, Preisen und Verfügbarkeit definiert, wie in den Nachrichten Transaktionen (Unterkunftsdaten), OTA_HotelRateAmountNotifRQ und OTA_HotelAvailNotifRQ definiert und durch die PackageID identifiziert.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RatePlans / RatePlan / @id 1 string Die eindeutige Kennung für den Preisplan. Dieser Wert ist dem PackageID-Wert in <PackageData> in einer Nachricht „Transaktion (Unterkunftsdaten)“ und im Attribut RatePlanCode in <StatusApplicationControl> in den Nachrichten <OTA_HotelRateAmountNotifRQ> und <OTA_HotelAvailNotifRQ> zugeordnet. Es sind maximal 50 Zeichen zulässig.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates 0..1 StayDates Ein Container für einen oder mehrere Zeiträume, die bestimmen, wie die Gebühren angewendet werden.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange 1..99 DateRange Ein Zeitraum, der angibt, wann das Angebot angewendet werden soll.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @start 0..1 Date Das einschließliche Startdatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss vor dem end-Datum liegen oder mit diesem übereinstimmen. Wird start nicht angegeben, ist der Zeitraum in Bezug auf das Startdatum praktisch unbegrenzt.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @end 0..1 Date Das einschließliche Enddatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss mit dem Datum start übereinstimmen oder danach liegen. Wird end nicht angegeben, ist der Zeitraum in Bezug auf das Enddatum praktisch unbegrenzt.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @days_of_week 0..1 string

Die Wochentage, die im Zeitraum zulässig sind. Wenn nicht angegeben, sind alle Tage im Zeitraum zulässig. Jedes Zeichen im String gibt einen Tag an. Beispielsweise gibt „MTWHF“ an, dass Wochentage im Zeitraum zulässig sind.

Gültige Zeichen sind:

  • M für Montag
  • T für Dienstag
  • W für Mittwoch
  • H für Donnerstag
  • F für Freitag
  • S für Samstag
  • U für Sonntag

Jede Zeichenkombination ist gültig.

Beispiele

Kosten für Erwachsene

Gebühren für weitere Erwachsene können nur als Pauschalbetrag ausgedrückt werden. Das folgende Beispiel zeigt eine ExtraGuestCharges-Nachricht, in der Gebühren für Erwachsene angegeben sind:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <StayDates />
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

Dies sind die entsprechenden Preise:

<?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="ABC">
    <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>

Wenn ein Nutzer auf Google nach vier Erwachsenen sucht, lautet der Gesamtpreis 170 = 120 + 50.

120 stammt aus dem <BaseByGuestAmt>-Preis mit NumberOfGuests="3" und 50 stammt aus dem AdultCharge amount="50".

Kosten für Kinder

Die Gebühren für Kinder werden in Altersgruppen bis 17 Jahren angegeben und können in Pauschalbeträgen, Prozentsätzen oder Rabatten ausgedrückt werden.

Das folgende Beispiel zeigt eine ExtraGuestCharges-Nachricht, in der Gebühren für Kinder angegeben sind:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <AgeBrackets>
        <ChildAgeBrackets>
          <ChildAgeBracket max_age="3" percentage="10"
                           counts_as_base_occupant="never" />
          <ChildAgeBracket max_age="10" percentage="30"
                           counts_as_base_occupant="preferred"/>
          <ChildAgeBracket max_age="17" discount_amount="10"
                           counts_as_base_occupant="always" />
        </ChildAgeBrackets>
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

Dies sind die entsprechenden Preise:

<?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="ABC">
    <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"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
```

  1.  Suppose you want the total price for 2 adults and 1 child of 2 years
      of age.

      Children aged 0-3 are never included in the rate's occupancy,
      so here you should take the double occupancy rate and divide by 2 to
      get the unit price. Then, multiply by the percentage rate and sum
      with the rate to get the total price.

      `unit price ` = 110 / 2 = 55

      `total price` = 110 + 55 * 0.1 = 115.5

  1.  Suppose you want the total price for 1 adult and 2 children, both of 5
      years of age.

      Children aged 4-10 are preferably included in the rate's
      occupancy. you should start by looking for a 3 adult rate since both
      children are preferably included in the rate's occupancy. Since
      that doesn't exist you should fall back to the 2 adult rate and then,
      take this rate and divide by two to get the unit price. Finally,
      multiply by the percentage rate and sum with the scaled rate to
      get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + 55 * 0.3 + 55 * 0.3 = 88

  1.  Suppose you want the total price for 1 adult and 1 child of 17
      years of age.

      Children aged 11-17 are always included in the rate's occupancy, so,
      in this case, take the double occupancy rate and divide by 2 to get
      the unit price. Then, deduct it by the discount amount and sum with
      the scaled rate to get the total price.

      `unit price` = 110 / 2 = 55

      `total price` = 55 + (55 - 10) = 100

Gebührenbeschränkungen

Alle Arten von Einschränkungen sind optional und können in beliebiger Kombination verwendet werden.

Das folgende Beispiel zeigt eine ExtraGuestCharges-Nachricht mit Einschränkungen:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

In der obigen Nachricht ist angegeben, dass Erwachsene vom 1. September 2020 bis zum 14. September 2020 alle Produkte mit dem Zimmertyp „Queen“ oder „King“ und mit dem Preisplan „kostenloses WLAN“ oder „warmes Frühstück“ in Rechnung stellen sollten.

Überlappende Gebühren

Dieser Abschnitt enthält ein Beispiel für eine ungültige Nachricht, in der unterschiedliche Gebühren für dieselben Kombinationen aus Datumsangaben und Produkten angegeben sind.


<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestCharges timestamp="2001-02-03T04:05:06+00:00" id="1">
  <HotelExtraGuestCharges hotel_id="ABC" action="overlay">
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-14"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="50" />
      </AgeBrackets>
    </ExtraGuestCharge>
    <ExtraGuestCharge>
      <RoomTypes>
        <RoomType id="queen" />
        <RoomType id="king" />
      </RoomTypes>
      <RatePlans>
        <RatePlan id="free-wifi" />
        <RatePlan id="hot-breakfast" />
      </RatePlans>
      <StayDates>
        <DateRange start="2020-09-01" end="2020-09-05"/>
      </StayDates>
      <AgeBrackets>
        <AdultCharge amount="20" />
      </AgeBrackets>
    </ExtraGuestCharge>
  </HotelExtraGuestCharges>
</ExtraGuestCharges>

Die obige Nachricht ist ungültig, da im ersten <ExtraGuestCharge> angegeben ist, dass für „Queen“ und „kostenloses WLAN“ vom 1. bis zum 14. September für zusätzliche Erwachsene 50 Erwachsene berechnet werden sollen. Die zweite <ExtraGuestCharge> gibt an, dass für „Queen“ oder „king“ mit „free-wifi“ oder „hot-Breakfast“ vom 1. bis 5. September für einen zusätzlichen Erwachsenen 20 Jahre berechnet werden soll. Vom 1. bis 5. September überschneiden sich die Gebühren für „Queen“ und „kostenloses WLAN“. Für einen weiteren Erwachsenen gibt es einen Konflikt zwischen 20 oder 50 €.

Antworten

Syntax

Die ExtraGuestChargesResponse-Meldung verwendet die folgende Syntax:

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="timestamp"
                    id="message_ID"
                    partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</ExtraGuestChargesResponse>

Elemente und Attribute

Die ExtraGuestChargesResponse-Nachricht enthält die folgenden Elemente und Attribute:

Element / @Attribut Häufigkeit Typ Beschreibung
ExtraGuestChargesResponse 1 Complex element Das Stammelement, das den Erfolg oder Probleme für eine empfangene ExtraGuestCharges-Anfragenachricht angibt.
ExtraGuestChargesResponse / @timestamp 1 DateTime Erstellungsdatum und -uhrzeit der Nachricht.
ExtraGuestChargesResponse / @id 1 string Die eindeutige Kennung der zugehörigen ExtraGuestCharges-Nachricht.
ExtraGuestChargesResponse / @partner 1 string Das Partnerkonto für diese Nachricht.
ExtraGuestChargesResponse / Success 0..1 Success Gibt an, dass die Nachricht ExtraGuestCharges ohne Warnungen oder Fehler erfolgreich verarbeitet wurde.

Entweder <Success> oder <Issues> ist in jeder Nachricht enthalten.

ExtraGuestChargesResponse / Issues 0..1 Issues Ein Container für ein oder mehrere Probleme, die bei der Verarbeitung der Nachricht ExtraGuestCharges aufgetreten sind.

Entweder <Success> oder <Issues> ist in jeder Nachricht enthalten.

ExtraGuestChargesResponse / Issues / Issue 1..n Issue Die Beschreibung einer Warnung oder eines Fehlers, die bzw. der bei der Verarbeitung der ExtraGuestCharges-Meldung aufgetreten ist. Details zu diesen Problemen finden Sie unter Fehlermeldungen zum Feedstatus.
ExtraGuestChargesResponse / Issues / Issue / @code 1 integer Die Kennung des Problems.
ExtraGuestChargesResponse / Issues / Issue / @status 1 enum

Die Art des Problems.

Gültige Werte sind warning, error und failure.

Beispiele

Abgeschlossen

Im Folgenden finden Sie eine Antwort auf eine erfolgreich verarbeitete ExtraGuestCharges-Nachricht.

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Success/>
</ExtraGuestChargesResponse>

Probleme

Im Folgenden finden Sie eine Antwort auf eine ExtraGuestCharges-Nachricht, die aufgrund von Fehlern nicht verarbeitet wurde.

<?xml version="1.0" encoding="UTF-8"?>
<ExtraGuestChargesResponse timestamp="2020-05-18T16:20:00-04:00"
                    id="12345678"
                    partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</ExtraGuestChargesResponse>