Zusätzliche Gästegebühren

Über <OTA_HotelRateAmountNotifRQ> gesendete Preise können so geändert werden, dass neben der ursprünglichen Anzahl von Gästen auch Erwachsene und Kinder berücksichtigt werden. In der Meldung ExtraGuestCharges können Sie angeben, wie die Preise für diese zusätzlichen Gäste berechnet werden sollen und für welche Zimmer, Preispläne und Aufenthaltsdaten die entsprechenden Gebühren gelten sollen.

Kapazitätsanforderungen

Preise, die aus der Nachricht ExtraGuestCharges berechnet wurden, sind nur gültig, wenn alle Kapazitätsanforderungen erfüllt sind. Weitere Informationen finden Sie unter Transaktion (Unterkunftsdaten).

Anfragen

Syntax

Die ExtraGuestCharges-Nachricht 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 ExtraGuestCharges-Nachricht enthält die folgenden Elemente und Attribute:

Element / @Attribut Häufigkeit Typ Beschreibung
ExtraGuestCharges 1 Complex element Das Stammelement dieser 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 im Hotellistenfeed mit <id> im Element <listing> angegeben wird. Die Hotel-ID wird 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. Die Standardeinstellung ist „Overlay“. Alle früheren Kosten für diese Unterkunft werden gelöscht, bevor die Aktualisierung angewendet wird.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge 0..99 ExtraGuestCharge

Ein einzelner Satz von Gebühren für eine Unterkunft. Dies kann Einschränkungen für die Anwendung von Gebühren und deren Berechnung nach Alter oder Gastkategorie umfassen.

Jeder ExtraGuestCharge innerhalb einer HotelExtraGuestCharges muss für einen eindeutigen Satz von Datumsangaben 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 zum Berechnen von 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 angibt, der für einen weiteren Erwachsenen berechnet wird. Diese Gebühr entspricht der Währung, die für Übernachtungspreise angegeben ist.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Container für zusätzliche untergeordnete Gebühren. Diese Altersgruppen dürfen nur die Altersgruppen von 0 bis einschließlich 17 Jahren abdecken.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..99 ChildAgeBracket Ein Aufpreis, der für Kinder in einer bestimmten Altersgruppe gilt. Sie sollten vom niedrigsten max_age zum höchsten max_age sortiert werden. Der zu berechnende Betrag kann entweder mit amount, percentage oder discount_amount angegeben werden. Für jeden <ChildAgeBracket> muss genau eines dieser Attribute angegeben werden.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer Das maximale Alter, für das die in <ChildAgeBracket> angegebenen Gebühren anfallen können. Das Mindestalter ist null, wenn vor diesem Datum keine andere <ChildAgeBracket> angegeben wurde. Andernfalls ist er 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 Gesamtkapazität eines Zimmers und die Kinderkapazität 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 für Kinder angerechnet werden.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 0..1 float Ein nicht negativer Dezimalwert, der den Pauschalbetrag angibt, der für ein weiteres untergeordnetes Element in dieser Klammer berechnet wird. Diese Gebühr entspricht der Währung, die für Übernachtungspreise angegeben ist.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @percentage 0..1 float

Ein Dezimalwert von 1 bis 99, der den Prozentsatz eines Erwachsenenpreises angibt, der für ein weiteres Kind in dieser Klasse berechnet werden soll. Diese Gebühr entspricht der Währung, die für Übernachtungspreise angegeben ist.

Weitere Informationen zur Berechnung des Preises für Erwachsene findest du unter counts_as_base_occupant.

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

Ein positiver Dezimalwert, der einen Pauschalbetrag auf den Erwachsenenpreis für ein weiteres Kind in dieser Klammer angibt. Diese Gebühr entspricht der Währung, die für Übernachtungspreise angegeben wurde.

Im Allgemeinen wird der Betrag für ein untergeordnetes Element in dieser Gruppe berechnet, indem der Pauschalpreis vom Stückpreis abgezogen wird. 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 berücksichtigt werden soll, wenn Sie einen <BaseByGuestAmount>-Preis für die Anwendung von prozentualen Gebühren und Rabatten auswählen.

Das Ziel hier ist es, einen „Preis pro Einheit“ zu ermitteln, anhand dessen sich die tatsächlichen Kosten berechnen lassen.

unit price = rate / occupancy

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

  • Wenn never angegeben ist, sollte das Kind nie in der Belegung des Preises enthalten sein.

    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 einbezogen werden sollten.

  • Wenn preferred angegeben ist, sollte das Kind vorzugsweise in die Belegung des Preises einbezogen werden.

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

  • Wenn always angegeben ist, sollte das Kind immer in der Belegung des Preises enthalten sein.

    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 im Preis inbegriffen sind.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes 0..1 RoomTypes Container für eine Liste von Zimmertypen, für die 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 in 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 vom Typ „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 die Gebühren gelten. Ist <RatePlans> nicht angegeben, 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 Transaction (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 eingeschlossene 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ßende Enddatum (basierend auf der Zeitzone der Unterkunft) des Zeitraums. Dieses Datum muss mit dem start-Datum übereinstimmen oder nach diesem 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 keine Angabe erfolgt, sind alle Tage im Zeitraum zulässig. Jedes Zeichen im String gibt einen Tag an. Mit „MTWHF“ wird beispielsweise angegeben, dass Wochentage im Zeitraum zulässig sind.

Gültige Zeichen:

  • 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

Gebühren für Erwachsene

Gebühren für weitere Erwachsene können nur als Pauschalbeträge angegeben 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>

Hier 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, beträgt der Gesamtpreis 170 = 120 + 50.

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

Gebühren für Kinder

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

Das folgende Beispiel zeigt eine ExtraGuestCharges-Nachricht, in der untergeordnete Gebühren 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>

Hier 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 es können beliebige Kombinationen daraus 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 Nachricht oben ist festgelegt, dass für den Zeitraum vom 1. September 2020 bis zum 14. September 2020 Erwachsene für alle Produkte mit dem Zimmertyp „Queen“ oder „King“ mit dem Preisplan „Kostenloses WLAN“ oder „Heißes Frühstück“ berechnet werden sollen.

Überlappende Gebühren

Dieser Abschnitt zeigt ein Beispiel für eine ungültige Nachricht, in der für die gleiche Kombination aus Datumsangaben und Produkten unterschiedliche Gebühren angegeben werden.


<?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 „Queen“ und „kostenloses WLAN“ für den 1. bis 14. September für zusätzliche Erwachsene 50 € berechnen sollen. Die zweite <ExtraGuestCharge> gibt an, dass für den Zeitraum vom 1. bis 5. September für „Queen“ (Queen) oder „King“ (King) mit kostenlosem WLAN oder warmem Frühstück für den Zeitraum vom 1. bis 5. September 20 weitere Erwachsene berechnet werden sollen. Für den Zeitraum vom 1. bis 5. September gelten sich überschneidende Gebühren für „Queen“ und „kostenloses WLAN“. Außerdem ist nicht klar, ob für einen weiteren Erwachsenen 20 oder 50 $ berechnet werden sollen.

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-Meldung 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 aus der verknüpften ExtraGuestCharges-Nachricht.
ExtraGuestChargesResponse / @partner 1 string Das Partnerkonto für diese Nachricht.
ExtraGuestChargesResponse / Success 0..1 Success Gibt an, dass die ExtraGuestCharges-Nachricht ohne Warnungen oder Fehler erfolgreich verarbeitet wurde.

In jeder Nachricht ist entweder <Success> oder <Issues> vorhanden.

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

In jeder Nachricht ist entweder <Success> oder <Issues> vorhanden.

ExtraGuestChargesResponse / Issues / Issue 1..n Issue Die Beschreibung einer Warnung oder eines Fehlers, der bei der Verarbeitung der ExtraGuestCharges-Meldung aufgetreten ist. Details zu diesen Problemen finden Sie unter Fehlermeldungen für den Feedstatus.
ExtraGuestChargesResponse / Issues / Issue / @code 1 integer Die Kennung für das Problem.
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>