Zusätzliche Gästegebühren

Über <OTA_HotelRateAmountNotifRQ> gesendete Preise können so geändert werden, dass sie neben der ursprünglichen Anzahl der Gäste auch Erwachsene und Kinder berücksichtigen. Mit der ExtraGuestCharges-Nachricht 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 Gebühren gelten sollen.

Kapazitätsanforderungen

Preise, die aus der ExtraGuestCharges-Nachricht berechnet werden, 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 folgende 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 der Unterkunft. Dieser Wert muss mit der Hotel-ID übereinstimmen, die mit <id> im Element <listing> im Hotellistenfeed angegeben wird. Die Hotel-ID ist auch im Hotel Center aufgelistet.
ExtraGuestCharges / HotelExtraGuestCharges / @action 0..1 enum Gibt an, wie das Update angewendet wird. Es wird nur overlay unterstützt. Die Standardeinstellung ist „Overlay“. Alle vorherigen Kosten für diese Property werden gelöscht, bevor das Update angewendet wird.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge 0..99 ExtraGuestCharge

Ein einzelner Satz von Gebühren für eine Unterkunft. Dies kann Einschränkungen bei der Berechnung von Gebühren nach Alter oder Gästekategorie beinhalten.

Jeder ExtraGuestCharge in einem HotelExtraGuestCharges muss sich auf eine eindeutige Gruppe von Datumsangaben und Produkten beziehen. Wenn sich zwei Elemente vom Typ „ExtraGuestCharge“ auf dieselbe Datums-Produktkombination beziehen, wird die gesamte Nachricht abgelehnt.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets 1 AgeBrackets Ein Container mit Altersgruppen, der für die Berechnung von Gebühren nach Alter oder Gästekategorie verwendet wird.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge 0..1 AdultCharge Container für die Gebühr für einen zusätzlichen Erwachsenen.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / AdultCharge / @amount 0..1 float Ein positiver Dezimalwert, der den Pauschalbetrag angibt, der für einen zusätzlichen Erwachsenen berechnet wird. Für diese Gebühr wird dieselbe Währung verwendet wie für die Übernachtungspreise.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Container für zusätzliche Gebühren für Kinder. Diese Altersgruppen dürfen nur den Altersbereich von 0 bis 17 Jahren umfassen.
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 in Rechnung gestellte 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 maximale Alter, für das die in <ChildAgeBracket> angegebenen Gebühren gelten können. Das Mindestalter ist null, wenn vor dieser <ChildAgeBracket> keine weiteren <ChildAgeBracket> angegeben sind. Andernfalls ist es um eins größer als das maximale Alter des vorherigen Bereichs.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @exclude_from_capacity 1 boolean Ein boolescher Wert, der angibt, ob ein Kind in diesem Altersbereich auf die Gesamtkapazität und die Kapazität für Kinder eines Zimmers angerechnet werden soll. Diese Kapazitäten können mit Transaktion(Unterkunftsdaten) festgelegt werden. So müssen beispielsweise Säuglinge 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 zusätzliches Kind in dieser Preisklasse berechnet wird. Für diese Gebühr wird dieselbe Währung verwendet wie für die Übernachtungspreise.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @percentage 0..1 float

Ein Dezimalwert von 1 bis 99, der den Prozentsatz des Erwachsenenpreises angibt, der für ein zusätzliches Kind in dieser Altersgruppe berechnet werden soll. Für diese Gebühr wird dieselbe Währung verwendet wie für die Übernachtungspreise.

Weitere Informationen zur Berechnung des Erwachsenenpreises finden Sie 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 zusätzliches Kind in dieser Preisspanne angibt. Für diese Gebühr wird dieselbe Währung verwendet wie für die Übernachtungspreise.

Im Allgemeinen wird die Gebühr für ein Kind in dieser Preisspanne berechnet, indem der Pauschalbetrag vom „Einheitspreis“ abgezogen wird. Der Stückpreis wird im Abschnitt zum Attribut counts_as_base_occupant näher 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 Kind in den NumberOfGuest eingeschlossen werden soll, wenn Sie einen <BaseByGuestAmount>-Preis für die Anwendung von prozentualen Gebühren und Rabatten auswählen.

Ziel ist es, einen „Stückpreis“ zu erhalten, aus dem die tatsächliche Gebühr berechnet werden kann.

unit price = rate ÷ occupancy

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

  • Wenn never angegeben ist, sollte das Kind niemals 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 berücksichtigt werden sollten.

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

    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 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 enthalten sein müssen.

ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / RoomTypes 0..1 RoomTypes Container für eine Liste von Zimmertypen, für die die Gebühren gelten. 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 wird 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 die Gebühren gelten. 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, die in den Nachrichten „Transaktion (Unterkunftsdaten)“, „OTA_HotelRateAmountNotifRQ“ und „OTA_HotelAvailNotifRQ“ definiert und durch die PackageID identifiziert wird.
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> sowie <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 prinzipiell 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 nach dem start-Datum liegen oder mit diesem übereinstimmen. Wird end nicht angegeben, ist der Zeitraum in Bezug auf das Enddatum nahezu unbegrenzt.
ExtraGuestCharges / HotelExtraGuestCharges / ExtraGuestCharge / StayDates / DateRange / @days_of_week 0..1 string

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

Folgende Zeichen sind zulässig:

  • 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 zusätzliche Erwachsene können nur als Pauschalbeträge angegeben werden. Im folgenden Beispiel wird eine ExtraGuestCharges-Nachricht mit den Kosten für Erwachsene angezeigt:

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

Die entsprechenden Steuersätze sind:

<?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, würde der Gesamtpreis 170 € betragen (120 € + 50 €).

120 entstammt der <BaseByGuestAmt>-Rate mit NumberOfGuests="3" und 50 der AdultCharge amount="50".

Kosten für untergeordnete Konten

Die Preise für Kinder werden in Altersgruppen bis 17 Jahre angegeben und können als Pauschalbeträge, Prozentsätze oder Rabatte angegeben werden.

Das folgende Beispiel zeigt eine ExtraGuestCharges-Nachricht mit Angaben zu den Kosten für Kinder:

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

Die entsprechenden Steuersätze sind:

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

Einschränkungen bei Abbuchungen

Alle Arten von Einschränkungen sind optional und können beliebig kombiniert 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 Meldung wird angegeben, dass Erwachsenen für alle Produkte mit dem Zimmertyp „Queen“ oder „King“ und dem Preisplan „Free-WiFi“ oder „Hot-Breakfast“ für den Zeitraum vom 1. September 2020 bis zum 14. September 2020 in Rechnung gestellt werden soll.

Überschneidung von Kosten

In diesem Abschnitt wird ein Beispiel für eine ungültige Nachricht mit unterschiedlichen Kosten für dieselben Kombinationen von Datumsangaben und Produkten gezeigt.


<?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 in der ersten <ExtraGuestCharge> angegeben ist, dass für „queen“ und „free-wifi“ vom 1. bis zum 14. September für zusätzliche Erwachsene 50 € 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 zusätzliche Erwachsene 20 € berechnet werden sollen. Für den Zeitraum vom 1. bis 5. September überschneiden sich die Gebühren für „queen“ und „free-wifi“. Außerdem ist nicht klar, ob für einen zusätzlichen Erwachsenen 20 oder 50 € berechnet werden sollen.

Antworten

Syntax

Die Nachricht ExtraGuestChargesResponse 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 Nachricht ExtraGuestChargesResponse enthält folgende 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 ExtraGuestCharges-Nachricht 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 Nachricht ExtraGuestCharges aufgetreten ist. Weitere Informationen zu diesen Problemen finden Sie unter Fehlercodes für den Feedstatus.
ExtraGuestChargesResponse / Issues / Issue / @code 1 integer Die Kennung des Problems.
ExtraGuestChargesResponse / Issues / Issue / @status 1 enum

Die Art des Problems, das aufgetreten ist.

Gültige Werte sind warning, error und failure.

Beispiele

Erfolg

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>