TaxFeeInfo (Steuerinformationen)

Anfragen

Syntax

Die Nachricht TaxFeeInfo verwendet die folgende Syntax:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="timestamp"
            id="message_ID"
            partner="partner_key">
  <Property action="[overlay]">
    <ID>HotelID</ID>
    <Taxes>
      <Tax>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <BookingDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </BookingDates>
        <CheckinDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckinDates>
        <CheckoutDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckoutDates>
        <StayDates application="[all|any|overlap]">
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <Type>[percent|amount|cumulative_percent]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>tax_amount</Amount>
        <ApplicableNights max="integer" excluded="integer"/>
        <LengthOfStay min="integer" max="integer"/>
        <!-- Use either <Amount> or <Brackets> -->
        <Brackets base_amount="tax_amount"/>
          <Bracket starts_at="nightly_rate" amount="tax_amount"/>
        </Brackets>
        <AgeBrackets>
          <AdultCharge amount="tax_amount"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="max_age" amount="tax_amount"/>
          </ChildAgeBrackets>
        </AgeBrackets>
        <UserCountries type="[include|exclude]">
          <Country code="country_code1"/>
          <Country code="country_code2"/>
        </UserCountries>
        <!--"exclusive" parameter is optional -->
        <Rank exclusive="[true|false]">integer</Rank>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <RoomTypes>
          <RoomType id="RoomID_1"/>
          <RoomType id="RoomID_2"/>
        </RoomTypes>
        <RatePlans>
          <RatePlan id="PackageID_1"/>
          <RatePlan id="PackageID_2"/>
        </RatePlans>
        <BookingDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </BookingDates>
        <CheckinDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckinDates>
        <CheckoutDates>
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </CheckoutDates>
        <StayDates application="[all|any|overlap]">
          <DateRange start="YYYY-MM-DD" end="YYYY-MM-DD" days_of_week="MTWHFSU_or_subset"/>
        </StayDates>
        <Type>[percent|amount|cumulative_percent]</Type>
        <Basis>[room|person]</Basis>
        <Period>[stay|night]</Period>
        <Currency>currency_code</Currency>
        <Amount>fee_amount</Amount>
        <ApplicableNights max="integer" excluded="integer"/>
        <LengthOfStay min="integer" max="integer"/>
        <!-- Use either <Amount> or <Brackets> -->
        <Brackets base_amount="tax_amount"/>
          <Bracket starts_at="nightly_rate" amount="tax_amount"/>
        </Brackets>
        <AgeBrackets>
          <AdultCharge amount="tax_amount"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="max_age" amount="tax_amount"/>
          </ChildAgeBrackets>
        </AgeBrackets>
        <UserCountries type="[include|exclude]">
          <Country code="country_code1"/>
          <Country code="country_code2"/>
        </UserCountries>
        <!--"exclusive" parameter is optional -->
        <Rank exclusive="[true|false]">integer</Rank>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Elemente und Attribute

Die Nachricht TaxFeeInfo enthält folgende Elemente und Attribute:

Element / @Attribut Häufigkeit Typ Beschreibung
TaxFeeInfo 1 Complex element Das Stammelement für eine Nachricht, in der Steuern und Gebühren für eine einzelne Unterkunft definiert sind.
TaxFeeInfo / @timestamp 1 DateTime Erstellungsdatum und ‑uhrzeit der Nachricht.
TaxFeeInfo / @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).
TaxFeeInfo / @partner 1 string Das Partnerkonto für diese Nachricht. Dieser Stringwert ist der Wert „Partnerschlüssel“, der im Hotel Center auf der Seite „Kontoeinstellungen“ aufgeführt ist.

Hinweis:Wenn Sie ein Backend haben, das Feeds für mehrere Konten bereitstellt, muss dieser Wert mit dem Attributwert ID im Element <RequestorID> der Nachrichten <OTA_HotelRateAmountNotifRQ> und <OTA_HotelAvailNotifRQ> für dasselbe Konto übereinstimmen.

TaxFeeInfo / Property 1..n Property Ein Container, um Steuern und Gebühren für eine einzelne Unterkunft zu definieren.
TaxFeeInfo / Property / @action 0..1 string Gibt an, wie das Update angewendet wird. Nur overlay wird unterstützt. Der Standardwert ist overlay. Alle vorherigen Taxes- und Fees-Werte für diese Property werden gelöscht, bevor dieses Update angewendet wird.
TaxFeeInfo / Property / ID 1 string Die eindeutige Kennung für die 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 aufgeführt.
TaxFeeInfo / Property / Taxes 0..1 Taxes Container für ein oder mehrere <Tax>-Elemente.
TaxFeeInfo / Property / Taxes / Tax 1..n Tax Eine individuelle Steuer, die für die Unterkunft gilt.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes 0..1 RoomTypes Container für eine Liste von Zimmertypen, für die die Steuer gilt. Die Steuer wird auf jeden angegebenen <RoomType> angewendet. Wenn <RoomTypes> nicht angegeben ist, gilt die Steuer für alle Zimmer.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType 1..n RoomType Gibt einen Zimmertyp an. Ein Zimmertyp wird in einem <RoomData>-Element in einer Nachricht Transaktion (Unterkunftsdaten) definiert und durch seine RoomID identifiziert. (Sein <RoomID>-Wert wird auch durch das Attribut InvTypeCode in OTA_HotelRateAmountNotifRQ-Nachrichten referenziert.)
TaxFeeInfo / Property / Taxes / Tax / 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.
TaxFeeInfo / Property / Taxes / Tax / RatePlans 0..1 RatePlans Container für eine Liste von Preisplänen, für die die Steuer gilt. Wenn <RatePlans> nicht angegeben ist, gilt die Steuer für alle Preispläne.
TaxFeeInfo / Property / Taxes / Tax / 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.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id 1 string Die eindeutige Kennung für den Preisplan. Dieser Wert ist dem PackageID-Wert in <PackageData> in der Nachricht Transaktion (Unterkunftsdaten) und dem Wert RatePlanCode zugeordnet, der im Attribut <StatusApplicationControl> in den Nachrichten <OTA_HotelRateAmountNotifRQ> und <OTA_HotelAvailNotifRQ> festgelegt ist. Es sind maximal 50 Zeichen zulässig.
TaxFeeInfo / Property / Taxes / Tax / BookingDates 0..1 BookingDates Ein Container für einen oder mehrere Zeiträume, die definieren, wann eine Buchung erfolgen muss, damit die Steuer angewendet wird.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange 1..99 DateRange Ein Zeitraum, der angibt, wann eine Buchung erfolgen muss, damit die Steuer angewendet wird.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / 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.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / 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.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / 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.

TaxFeeInfo / Property / Taxes / Tax / CheckinDates 0..1 CheckinDates Ein Container für einen oder mehrere Zeiträume, die definieren, wann der Check-in erfolgen muss, damit die Steuer angewendet wird.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange 1..20 DateRange Ein Zeitraum, der angibt, wann ein Check-in erfolgen muss, damit die Steuer angewendet wird.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / 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.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / 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.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / 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.

TaxFeeInfo / Property / Taxes / Tax / CheckoutDates 0..1 CheckoutDates Ein Container für einen oder mehrere Zeiträume, die definieren, wann der Check-out erfolgen muss, damit die Steuer angewendet wird.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange 1..20 DateRange Ein Zeitraum, der angibt, wann ein Check-out erfolgen muss, damit die Steuer angewendet wird.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / 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.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / 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.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / 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.

TaxFeeInfo / Property / Taxes / Tax / StayDates 0..1 StayDates

Ein Container für einen oder mehrere Zeiträume, die bestimmen, ob die Steuer angewendet wird, z. B. für saisonale Rabatte.

TaxFeeInfo / Property / Taxes / Tax / StayDates / @application 1 enum

Beschreibt, wie die Steuer angewendet werden soll.

Gültige Werte sind:

  • all: Die Steuer wird auf jede Übernachtung im Reiseplan angewendet, wenn alle Datumsangaben im Reiseplan sich mit den Aufenthaltsdaten überschneiden.
  • any: Die Steuer gilt für alle Übernachtungen im Reiseplan, wenn sich ein beliebiges Datum im Reiseplan mit einem Datum im Aufenthaltszeitraum überschneidet.
  • overlap: Die Steuer wird nur auf die Übernachtungen im Reiseplan angewendet, die sich mit einem Datum im Aufenthaltszeitraum überschneiden.

    Hinweis: overlap ist nur gültig, wenn für <Period> der Wert night festgelegt wurde.

Dieses Attribut muss immer angegeben werden.

TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange 1..99 DateRange Ein Zeitraum, der angibt, wann die Steuer angewendet werden soll.
TaxFeeInfo / Property / Taxes / Tax / 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.
TaxFeeInfo / Property / Taxes / Tax / 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.
TaxFeeInfo / Property / Taxes / Tax / 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.

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

Gültige Werte sind:

  • percent: Ein Prozentwert des Gesamtpreises
  • amount:: Ein Pauschalbetrag, der dem Endpreis hinzugefügt werden soll
  • cumulative_percent: Ein Prozentsatz des Gesamtsatzes, der Steuern und Gebühren, die vor der Berechnung dieser Steuer oder Gebühr angefallen sind. Wenn dieser Wert angegeben ist, muss auch <Rank> angegeben werden.
  • <Brackets> und <AgeBrackets> dürfen nicht mit cumulative_percent als Typ angegeben werden.

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

Gültige Werte sind:

  • room:: Der <Amount> wird auf das Zimmer angewendet.
  • person:: Der <Amount> wird pro Person angewendet. Dieser Wert gilt nur, wenn <Type> auf einen Betrag festgelegt ist.
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

Gültige Werte sind:

  • stay:: Der <Amount> wird zum Gesamtpreis des Aufenthalts hinzugefügt.
  • night: Der <Amount> wird pro Nacht des Aufenthalts hinzugefügt.
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 string Der dreistellige Währungscode für die Steuer (z. B. USD).

Hinweis:Wenn <Currency> nicht angegeben ist, aber <Amount> angegeben ist, wird der Wert für <Currency> standardmäßig auf die Währung des Basiszinssatzes festgelegt.

TaxFeeInfo / Property / Taxes / Tax / Amount 0..1 float Der Wert des Prozentsatzes oder Betrags der Steuer.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights 0..1 ApplicableNights Dieser Wert gilt nur, wenn <Type> auf amount und <Period> auf night festgelegt ist.

Beschränkt die Anzahl der Übernachtungen, für die eine Steuer angewendet werden kann.

Geben Sie entweder max oder excluded, aber nicht beides an.

TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max 0..1 integer <ApplicableNights max="N"> gibt an, dass Nächte nach den ersten N Nächten ausgeschlossen werden sollen.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded 0..1 integer <ApplicableNights excluded="N"> gibt an, dass die ersten N Nächte ausgeschlossen werden sollen.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay 0..1 LengthOfStay Definiert die Mindest- und Höchstwerte der Aufenthaltsdauer, innerhalb derer diese Steuer angewendet werden kann. Die Steuer wird nicht angewendet, wenn die Aufenthaltsdauer außerhalb der Mindest- und Höchstwerte liegt.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min 0..1 integer Die Mindestanzahl von Übernachtungen, die während des Aufenthalts erlaubt sind, damit die Steuer angewendet wird. Falls nicht angegeben, gibt es keine Mindestanzahl.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max 0..1 integer Die maximale Anzahl Übernachtungen, die während des Aufenthalts erlaubt sind, damit die Steuer angewendet wird. Falls nicht angegeben, gibt es keine maximale Anzahl.
TaxFeeInfo / Property / Taxes / Tax / Brackets 0..1 Brackets Container für ein oder mehrere <Bracket>-Elemente. Definiert eine Reihe von zusammenhängenden und nicht überlappenden Steuerklassen. Beispiel: Steuern gemäß der indischen GST-Steuergruppe.

Dieses Element ist nur gültig, wenn <Period> auf night gesetzt und <Amount> nicht angegeben ist.

TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount 0..1 float Der Wert des Prozentsatzes oder Betrags der Steuer, der auf Übernachtungspreise angewendet wird, die unter dem starts_at-Wert der ersten Klasse liegen.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket 1..n Bracket Definiert eine Steuerklasse anhand der Übernachtungspreise.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at 1 float

Definiert die Untergrenze einer Steuerklasse. Die Obergrenze wird im Feld starts_at der nachfolgenden Klasse angegeben. Es gibt keine Obergrenze für die letzte Klasse.

Eine Steuerklasse ist aktiv, wenn der Übernachtungspreis größer oder gleich dem starts_at-Wert der Klasse und kleiner als der starts_at-Wert der nachfolgenden Klasse ist.

Dieser Wert muss größer als 0 sein.

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float Der Wert des Prozentsatzes oder Betrags der für diese Steuerklasse geltenden Steuern.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets Ermöglicht die Angabe einer Reihe von Steuern basierend auf dem Alter der Bewohner.

Dieses Element ist nur gültig, wenn <Brackets> und <Amount> nicht angegeben sind, <Basis> auf person und <Type> auf amount festgelegt ist.

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge 0..1 AdultCharge Container zum Angeben von Steuern für Erwachsene.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount 1 float Der Pauschalbetrag der Steuer, die für Erwachsene angewendet wird.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Container für ein oder mehrere <ChildAgeBracket>-Elemente.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..n ChildAgeBracket Definiert eine Altersgruppe für Kinder und den entsprechenden Steuerbetrag.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer

Definiert die Obergrenze für das Alter eines Kindes. Die Untergrenze wird im Feld max_age der vorherigen Klasse + 1 angegeben. Sowohl die Ober- als auch die Untergrenze sind inklusive. Die Untergrenze für die erste Klasse ist 0.

max_age muss zwischen 0 und 17 liegen (einschließlich).

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 1 float Der Pauschalbetrag der Steuern, die für Kinder in dieser Altersgruppe gelten.
TaxFeeInfo / Property / Taxes / Tax / UserCountries 0..1 UserCountries Container zum Auflisten der Nutzerländer, für die die Steuer entweder ein- oder ausgeschlossen ist. Falls vorhanden, wird die Steuer nur für Nutzer aus den angegebenen Ländern ein- oder ausgeschlossen.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type 0..1 enum Der Typ der UserCountries-Spezifikation.

Gültige Werte sind include und exclude.

Wenn UserCountries type auf include festgelegt ist, wird die Steuer nur auf Nutzer aus den aufgeführten Ländern angewendet.

Wenn UserCountries type exclude ist, wird die Steuer nur auf Nutzer außerhalb der aufgeführten Länder angewendet.

Wenn „UserCountries“ type nicht festgelegt ist, wird es als include behandelt und die Steuer wird nur auf Nutzer aus den aufgeführten Ländern angewendet.

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country Definiert ein Land in der Liste „UserCountries“.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code 1 string Ein CLDR-Ländercode, z. B. DE oder FR. Bei einigen Ländern ist der CLDR-Ländercode nicht identisch mit dem aus zwei Buchstaben bestehenden ISO-Ländercode. Regionale CLDR-Codes werden nicht unterstützt.
TaxFeeInfo / Property / Taxes / Tax / Rank 1 integer

Ein Rang, der die Reihenfolge der Anwendung einer Steuer oder Gebühr angibt. Ein Wert von 2 bedeutet beispielsweise, dass die Steuer an zweiter Stelle angewendet wird. Dieses Element sollte immer angegeben werden, wenn <Type> auf cumulative_percent festgelegt ist. Im Allgemeinen wird diese Reihenfolge sowohl auf Steuern als auch auf Gebühren angewendet.

<Rank>2</Rank>

Doppelte Rangwerte sind bei Steuern und Gebühren zulässig, können aber zu einem undefinierten Verhalten führen, bei dem Steuern und Gebühren willkürlich und kumulativ angewendet werden.

Alternativ können Sie den Parameter "exclusive" innerhalb von <Rank> verwenden, um anzugeben, dass alle Steuern und Gebühren desselben Rangs auf den Preis angewendet werden. Der Standardwert ist false. Alle Steuern und Gebühren mit demselben Rang werden willkürlich auf den Preis angewendet. "exclusive" ist optional.

Wenn der Parameter exclusive auf true festgelegt ist, wird nur die erste Steuer, die in <Tax> aufgeführt ist, oder die erste Gebühr, die in <Fee> aufgeführt ist, auf den Preis angewendet.

<Rank exclusive="true">1</Rank>

Steuern werden vor Gebühren angewendet. Wenn also eine Steuer und eine Gebühr denselben Rang haben und für die Gebühr "exclusive" auf true festgelegt ist, wird die Steuer trotzdem zuerst angewendet. Steuern und Gebühren sollten in der Reihenfolge aufgeführt werden, in der sie angewendet werden sollen.

Wenn Sie alle Steuern und Gebühren desselben Rangs einbeziehen möchten, sollten Sie exclusive nicht auf true festlegen.

Steuern und Gebühren ohne Ränge werden vor allen Einträgen mit Rang angewendet.

<Rank> muss zwischen 1 und 99 liegen (einschließlich).

TaxFeeInfo / Property / Fees 0..1 Fees Container für ein oder mehrere <Fee>-Elemente.
TaxFeeInfo / Property / Fees / Fee 1..n Fee

Eine individuelle Gebühr, die für die Unterkunft gilt.

Alle untergeordneten Elemente von <Tax> werden auch für <Fee> mit derselben Syntax unterstützt.

Beispiele

Pro Unterkunft sind nur bis zu 300 Einträge für Steuern und Gebühren zulässig. Im Beispiel „Steuern löschen“ erfahren Sie, wie Sie Steuern und Gebühren aus einem Attribut entfernen.

Einfache Nachricht

Eine einfache TaxFeeInfo-Nachricht:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>10.00</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>person</Basis>
        <Period>night</Period>
        <Currency>USD</Currency>
        <Amount>5.00</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Steuern löschen

Alle Steuern und Gebühren auf Unterkunftsebene für das angegebene Hotel löschen:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-06-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property action="overlay"/>
    <ID>Property_1</ID>
  </Property>
</TaxFeeInfo>

Steuergruppe

Steuer gemäß der indischen GST-Steuergruppe, die basierend auf Übernachtungspreisen angewendet wird. Die Steuerklassen sind:

  • Keine Steuern, wenn der Übernachtungspreis höchstens 1.000 beträgt
  • 12% Steuern, wenn der Übernachtungspreis über 1.000 liegt und höchstens 7.500 beträgt
  • 18% Steuern, wenn der Übernachtungspreis über 7.500 liegt
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Brackets base_amount="0">
          <Bracket starts_at="1000.01" amount="12"/>
          <Bracket starts_at="7500.01" amount="18"/>
        </Brackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Altersabhängige Steuern

Steuern, die basierend auf dem Alter der Gäste erhoben werden:

  • 20 $ Steuern für erwachsene Gäste.
  • 10 $ Steuern für Kinder zwischen 11 und 17 Jahren.
  • 5 $ Steuern für Kinder zwischen 0 und 10 Jahren.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-05-18T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>person</Basis>
        <Period>night</Period>
        <AgeBrackets>
          <AdultCharge amount="20"/>
          <ChildAgeBrackets>
            <ChildAgeBracket max_age="10" amount="5"/>
            <ChildAgeBracket max_age="17" amount="10"/>
          </ChildAgeBrackets>
        </AgeBrackets>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Sich überschneidende Aufenthaltszeiträume

Wenn mehrere Aufenthaltszeiträume definiert sind, die sich überschneiden, muss das angegebene Aufenthaltsdatum nur einen dieser Zeiträume erfüllen, nicht alle. Die Aufenthaltszeiträume müssen in einem einzigen Start- und Endbereich angegeben werden.

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2025-03-12T10:59:49+01:00"
            id="12345678"
            partner="partner_key">
  <Property action="overlay">
    <ID>987654</ID>
      <Taxes>
        <Tax>
          <Type>amount</Type>
          <Basis>person</Basis>
          <Period>night</Period>
          <RoomTypes>
            <RoomType id="RoomID_1"/>
            <RoomType id="RoomID_2"/>
          </RoomTypes>
          <StayDates application="any">
            <DateRange start="2025-06-16"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>50</Amount>
        </Tax>
      </Taxes>
      <Fees>
        <Fee>
          <Type>amount</Type>
          <Basis>room</Basis>
          <Period>stay</Period>
          <StayDates application="any">
            <DateRange start="2025-03-12" end="2025-03-18"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>200</Amount>
        </Fee>
        <Fee>
          <Type>amount</Type>
          <Basis>room</Basis>
          <Period>stay</Period>
          <StayDates application="any">
            <DateRange start="2025-03-19"/>
          </StayDates>
          <Currency>USD</Currency>
          <Amount>300</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Mehrere Steuern und Gebühren mit Rang „Exklusiv“

Im Folgenden finden Sie ein Beispiel mit mehreren Steuern und Gebühren mit exclusive="true" und unterschiedlichen Rängen. Berücksichtigen Sie die folgenden Steuern und Gebühren, die auf den Preis angewendet werden sollten:

  • Eine Belegungssteuer von 5% mit dem Rang 1 exclusive="true".
  • Eine Zimmerservicesteuer in Höhe von 10 $ mit Rang 1.
  • Eine Reinigungsgebühr von 50 $ mit Rang 2 exclusive="true".
  • Eine Gebühr für Annehmlichkeiten in Höhe von 2% mit Rang 3.

Die chronologische Reihenfolge, in der die Steuern und Gebühren auf Grundlage der <Rank> angewendet werden, ist:

  1. Die Belegungssteuer mit exclusive="true" und Rang 1 wird zuerst angewendet.
  2. Die Zimmerservicesteuer mit dem Rang 1 wird nicht angewendet, da die vorherige Belegungssteuer exklusiv ist.
  3. Als Nächstes wird die Reinigungsgebühr mit exclusive="true" und Rang 2 angewendet.
  4. Die Gebühr für Annehmlichkeiten mit Rang 3 wird nach der Reinigungsgebühr mit Rang 2 angewendet.

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2024-02-29T12:00:00Z"
            id="tax-fee-id"
            partner="partner_key">
  <Property action="overlay">
    <ID>765432</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Amount>5</Amount>
        <Period>stay</Period>
        <Basis>room</Basis>
        <Rank exclusive="true">1</Rank>
      </Tax>
      <Tax>
        <Type>amount</Type>
        <Amount>10</Amount>
        <Period>night</Period>
        <Basis>room</Basis>
        <Currency>USD</Currency>
        <Rank>1</Rank>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Amount>50</Amount>
        <Period>night</Period>
        <Basis>room</Basis>
        <Currency>USD</Currency>
        <Rank exclusive="true">2</Rank>
      </Fee>
      <Fee>
        <Type>percent</Type>
        <Amount>2</Amount>
        <Period>stay</Period>
        <Basis>room</Basis>
        <Rank>3</Rank>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Antworten

Syntax

Die Nachricht TaxFeeInfoResponse verwendet die folgende Syntax:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfoResponse 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>
</TaxFeeInfoResponse>

Elemente und Attribute

Die Nachricht TaxFeeInfoResponse enthält folgende Elemente und Attribute:

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

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

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

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

TaxFeeInfoResponse / Issues / Issue 1..n Issue Die Beschreibung einer Warnung oder eines Fehlers, die bzw. der bei der Verarbeitung der TaxFeeInfo-Nachricht aufgetreten ist. Weitere Informationen zu diesen Problemen finden Sie unter Fehlercodes für den Feedstatus.
TaxFeeInfoResponse / Issues / Issue / @code 1 integer Die Kennung des Problems.
TaxFeeInfoResponse / 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 TaxFeeInfo-Nachricht.

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

Probleme

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

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