Informacje podatkowe

Żądania

Składnia

Komunikat TaxFeeInfo ma taką składnię:

<?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>
        <Rank>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>
        <Rank>integer</Rank>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Elementy i atrybuty

Wiadomość TaxFeeInfo zawiera te elementy oraz atrybuty:

Element / @Atrybut Wystąpienia Typ Opis
TaxFeeInfo 1 Complex element Główny element komunikatu definiującego podatki i opłaty usłudze.
TaxFeeInfo / @timestamp 1 DateTime Data i godzina utworzenia tej wiadomości.
TaxFeeInfo / @id 1 string Unikalny identyfikator tej wiadomości z żądaniem. Ta wartość jest zwracana w wiadomości z odpowiedzią. Dozwolone znaki to a-z, A-Z, 0-9, _ (podkreślenie) i - (łącznik).
TaxFeeInfo / @partner 1 string Konto partnera, z którego pochodzi ta wiadomość. Ta wartość ciągu znaków to parametr „Klucz partnera” wartość podana na Strona Ustawienia konta w Hotel Center.

Uwaga: jeśli masz backend, który dostarcza pliki danych dla dla wielu kont, ta wartość musi odpowiadać wartości w kolumnie ID wartość atrybutu określona w tagu <RequestorID> element <OTA_HotelRateAmountNotifRQ> i <OTA_HotelAvailNotifRQ> wiadomości na tym samym koncie.

TaxFeeInfo / Property 1..n Property Kontener do określania podatków i opłat dla jednej usługi.
TaxFeeInfo / Property / @action 0..1 string Określa sposób stosowania aktualizacji. Jedynie overlay jest obsługiwany, a wartość domyślna to overlay. Dowolny poprzedni Taxes i Fees w tej usłudze zostaną została wyczyszczona przed zastosowaniem tej aktualizacji.
TaxFeeInfo / Property / ID 1 string Unikalny identyfikator usługi. Ta wartość musi pasować do Identyfikator hotelu określony za pomocą elementu <id> cale element <listing> w obiekcie Hotel. Kanał listy. Identyfikator hotelu jest też podany w Hotel Center.
TaxFeeInfo / Property / Taxes 0..1 Taxes Kontener na co najmniej 1 element <Tax>.
TaxFeeInfo / Property / Taxes / Tax 1..n Tax Indywidualny podatek obowiązujący w przypadku nieruchomości.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes 0..1 RoomTypes Kontener zawierający listę typów pomieszczeń, do których obowiązuje podatek. Podatek jest naliczany od każdego: <RoomType> określone dane. Jeśli nie podasz <RoomTypes>, parametr Podatek dotyczy wszystkich pokoi.
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType 1..n RoomType Określa typ pomieszczenia. Typ pokoju jest określony w <RoomData> element w Transakcja (dane usługi) oraz zidentyfikowanego za pomocą identyfikatora pokoju. (Jest Do wartości <RoomID> odwołują się również Atrybut InvTypeCode w: OTA_HotelRateAmountNotifRQ messages.)
TaxFeeInfo / Property / Taxes / Tax / RoomTypes / RoomType / @id 1 string Unikalny identyfikator zasobów reklamowych (typ pomieszczenia). Ta wartość jest mapowana na rzecz <RoomID> w transakcji (Dane usługi). Maksymalna dozwolona liczba znaków to 50)
TaxFeeInfo / Property / Taxes / Tax / RatePlans 0..1 RatePlans Kontener listy planów stawek, do których obowiązuje podatek. Jeśli nie podano <RatePlans>, podatek zostanie dotyczy wszystkich planów stawek.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan 1..n RatePlan Określa plan stawek. Plan stawek jest definiowany przez pakiet, stawki i dostępność, zgodnie z definicją w transakcji (dane obiektu), OTA_HotelRateAmountNotifRQ i OTA_HotelAvailNotifRQ zgodnie z identyfikatorem PackageID.
TaxFeeInfo / Property / Taxes / Tax / RatePlans / RatePlan / @id 1 string Unikalny identyfikator abonamentu. Ta wartość jest mapowana na wartość Wartość PackageID w parametrze Wiadomość Transakcja (dane usługi) <PackageData> i wartość RatePlanCode ustawioną w sekcji <StatusApplicationControl> atrybut w obu przypadkach <OTA_HotelRateAmountNotifRQ> i Wiadomości: <OTA_HotelAvailNotifRQ>. Maksymalna dozwolona liczba znaków to 50.
TaxFeeInfo / Property / Taxes / Tax / BookingDates 0..1 BookingDates Kontener dla co najmniej jednego zakresu dat, który określa, kiedy rezerwacja w celu naliczenia podatku.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange 1..99 DateRange Zakres dat, w którym musi zostać dokonana rezerwacja, aby podatek zastosowano.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @start 0..1 Date Data rozpoczęcia (na podstawie strefy czasowej usługi) włącznie z datą rozpoczęcia zakres dat. Ta data nie może być wcześniejsza niż Data: end. Jeśli nie określono start, data jest faktycznie nieograniczony w zakresie daty rozpoczęcia.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @end 0..1 Date Data zakończenia (na podstawie strefy czasowej usługi) włącznie z datą zakończenia zakresu dat. Ta data musi być taka sama jak start lub później datę. Jeśli nie określono end, data jest faktycznie nieograniczony w zakresie daty zakończenia.
TaxFeeInfo / Property / Taxes / Tax / BookingDates / DateRange / @days_of_week 0..1 string

Dni tygodnia, które są dozwolone w zakresie dat. Jeśli nie, oznacza to, że w zakresie dat dozwolone są wszystkie dni. Każdy wskazuje dzień. Na przykład „MTWHF”. określa że dni powszednie są dozwolone w danym zakresie dat.

Prawidłowe znaki to:

  • M na poniedziałek
  • T na wtorek
  • W na środę
  • H na czwartek
  • F na piątek
  • S na sobotę
  • U na niedzielę

Obowiązuje każda kombinacja znaków.

TaxFeeInfo / Property / Taxes / Tax / CheckinDates 0..1 CheckinDates kontener dla jednego lub kilku zakresów dat, które określają, kiedy należy się zameldować. w celu naliczenia podatku.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange 1..20 DateRange Zakres dat, w którym musi nastąpić odprawa, aby podatek można zastosować.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @start 0..1 Date Data rozpoczęcia (na podstawie strefy czasowej usługi) włącznie z datą rozpoczęcia zakres dat. Ta data nie może być wcześniejsza niż Data: end. Jeśli nie określono start, data jest faktycznie nieograniczony w zakresie daty rozpoczęcia.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @end 0..1 Date Data zakończenia (na podstawie strefy czasowej usługi) włącznie z datą zakończenia zakresu dat. Ta data musi być taka sama jak start lub później datę. Jeśli nie określono end, data jest faktycznie nieograniczony w zakresie daty zakończenia.
TaxFeeInfo / Property / Taxes / Tax / CheckinDates / DateRange / @days_of_week 0..1 string

Dni tygodnia, które są dozwolone w zakresie dat. Jeśli nie, oznacza to, że w zakresie dat dozwolone są wszystkie dni. Każdy wskazuje dzień. Na przykład „MTWHF”. określa że dni powszednie są dozwolone w danym zakresie dat.

Prawidłowe znaki to:

  • M na poniedziałek
  • T na wtorek
  • W na środę
  • H na czwartek
  • F na piątek
  • S na sobotę
  • U na niedzielę

Obowiązuje każda kombinacja znaków.

TaxFeeInfo / Property / Taxes / Tax / CheckoutDates 0..1 CheckoutDates Kontener na co najmniej jeden zakres dat, który określa moment realizacji transakcji musi zostać naliczony.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange 1..20 DateRange Zakres dat, w którym należy wymeldować się, aby podatek można zastosować.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @start 0..1 Date Data rozpoczęcia (na podstawie strefy czasowej usługi) włącznie z datą rozpoczęcia zakres dat. Ta data nie może być wcześniejsza niż Data: end. Jeśli nie określono start, data jest faktycznie nieograniczony w zakresie daty rozpoczęcia.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @end 0..1 Date Data zakończenia (na podstawie strefy czasowej usługi) włącznie z datą zakończenia zakresu dat. Ta data musi być taka sama jak start lub później datę. Jeśli nie określono end, data jest faktycznie nieograniczony w zakresie daty zakończenia.
TaxFeeInfo / Property / Taxes / Tax / CheckoutDates / DateRange / @days_of_week 0..1 string

Dni tygodnia, które są dozwolone w zakresie dat. Jeśli nie, oznacza to, że w zakresie dat dozwolone są wszystkie dni. Każdy wskazuje dzień. Na przykład „MTWHF”. określa że dni powszednie są dozwolone w danym zakresie dat.

Prawidłowe znaki to:

  • M na poniedziałek
  • T na wtorek
  • W na środę
  • H na czwartek
  • F na piątek
  • S na sobotę
  • U na niedzielę

Obowiązuje każda kombinacja znaków.

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

kontenera dla jednego lub kilku zakresów dat, które określają, podatek, np. aby uwzględnić rabaty sezonowe.

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

Opisuje sposób naliczania podatku.

Prawidłowe wartości to:

  • all: podatek jest stosowany do każdej nocy w plan podróży, jeśli wszystkie daty w planie podróży się pokrywają z datami pobytu.
  • any: nalicza podatek do wszystkich nocy w hotelu plan podróży, jeśli którakolwiek data w planie podróży pokrywa się z datą w zakres dat pobytu.
  • overlap: nalicza podatek tylko w przypadku noclegów w okresie plan podróży, który pokrywa się z datą w zakresie dat pobytu.

    Uwaga: właściwość overlap jest prawidłowa tylko wtedy, <Period> ma wartość night.

Ten atrybut musi być zawsze określony.

TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange 1..99 DateRange Zakres dat określający daty zastosowania podatku.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @start 0..1 Date Data rozpoczęcia (na podstawie strefy czasowej usługi) włącznie z datą rozpoczęcia zakres dat. Ta data nie może być wcześniejsza niż Data: end. Jeśli nie określono start, data jest faktycznie nieograniczony w zakresie daty rozpoczęcia.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @end 0..1 Date Data zakończenia (na podstawie strefy czasowej usługi) włącznie z datą zakończenia zakresu dat. Ta data musi być taka sama jak start lub później datę. Jeśli nie określono end, data jest faktycznie nieograniczony w zakresie daty zakończenia.
TaxFeeInfo / Property / Taxes / Tax / StayDates / DateRange / @days_of_week 0..1 string

Dni tygodnia, które są dozwolone w zakresie dat. Jeśli nie, oznacza to, że w zakresie dat dozwolone są wszystkie dni. Każdy wskazuje dzień. Na przykład „MTWHF”. określa że dni powszednie są dozwolone w danym zakresie dat.

Prawidłowe znaki to:

  • M na poniedziałek
  • T na wtorek
  • W na środę
  • H na czwartek
  • F na piątek
  • S na sobotę
  • U na niedzielę

Obowiązuje każda kombinacja znaków.

TaxFeeInfo / Property / Taxes / Tax / Type 1 enum

Prawidłowe wartości to:

  • percent: Procent sumy stawki
  • amount: Kwota zryczałtowana, która zostanie dodana do stawki końcowej.
  • cumulative_percent: Procent łączną stawkę, podatki i opłaty naliczone przed obliczeniem tego podatku lub opłaty. Jeśli jest określona, <Rank> także musi być określone.
  • <Brackets> i <AgeBrackets> nie można określić jako cumulative_percent.

TaxFeeInfo / Property / Taxes / Tax / Basis 1 enum

Prawidłowe wartości to:

  • room: <Amount> jest stosowany do pokoju.
  • person: <Amount> dotyczy każdej osoby. Ta wartość ma zastosowanie tylko wtedy, gdy w polu <Type> ustawiono kwotę.
TaxFeeInfo / Property / Taxes / Tax / Period 1 enum

Prawidłowe wartości to:

  • stay: Element <Amount> jest dodawany do łączną cenę za pobyt.
  • night: Dodano <Amount> za dobę.
TaxFeeInfo / Property / Taxes / Tax / Currency 0..1 string Trzyliterowy kod waluty podatku (np. PLN).
TaxFeeInfo / Property / Taxes / Tax / Amount 0..1 float Wartość procentu lub kwoty podatku.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights 0..1 ApplicableNights Ta wartość ma zastosowanie tylko wtedy, gdy zasada <Type> jest ustawiona jako Parametr amount i <Period> są ustawione na noc.

Ogranicza liczbę nocy, za które może zostać naliczony podatek.

Określ max lub excluded, ale nie i jednym, i drugim.

TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @max 0..1 integer <ApplicableNights max="N"> oznacza, że noce po pierwszych N nocy powinny zostać wykluczone.
TaxFeeInfo / Property / Taxes / Tax / ApplicableNights / @excluded 0..1 integer <ApplicableNights excluded="N"> oznacza, że należy wykluczyć pierwsze N nocy.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay 0..1 LengthOfStay Określa limity długości pobytu, w ramach którego można naliczyć podatek. Podatek nie jest naliczany, jeśli długość pobytu jest poza zakresem minimalną i maksymalną i ograniczeniach.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @min 0..1 integer Minimalna liczba nocy przebytych w trakcie pobytu, by mogła zostać naliczona podatek. Jeśli ta wartość nie zostanie określona, nie ma minimalnej wartości.
TaxFeeInfo / Property / Taxes / Tax / LengthOfStay / @max 0..1 integer Maksymalna liczba nocy w trakcie pobytu, która może zostać naliczona, aby doliczyć podatek. Jeśli nie podasz żadnej wartości, nie będzie maksymalnej wartości.
TaxFeeInfo / Property / Taxes / Tax / Brackets 0..1 Brackets Kontener na co najmniej 1 element <Bracket>. Definiuje zestaw ciągłych i niepokrywających się przedziałów podatkowych. Na przykład: indyjskie podatki od podatku GST.

Ten element jest prawidłowy tylko wtedy, gdy <Period> ma wartość Nie określono wartości night i <Amount>.

TaxFeeInfo / Property / Taxes / Tax / Brackets / @base_amount 0..1 float Wartość procentu lub kwoty podatku zastosowanej do stawek za noc poniżej wartości starts_at pierwszego nawiasu.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket 1..n Bracket Określa przedział podatkowy na podstawie stawek za noc.
TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @starts_at 1 float

Określa dolną granicę przedziału podatkowego. Górna granica to określona w polu starts_at następnego nawiasu. Nie istnieje górna granica ostatniego nawiasu.

Przedział podatkowy jest aktywny, gdy stawka za nocleg jest co najmniej równa do wartości starts_at w nawiasie, i dokładnie mniejsze od wartości starts_at kolejnego nawiasu.

Ta wartość musi być ściśle większa niż 0.

TaxFeeInfo / Property / Taxes / Tax / Brackets / Bracket / @amount 1 float Wartość procentu lub kwoty podatku zastosowanych do tego przedziału podatkowego.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets 0..1 AgeBrackets Umożliwia określenie zestawu podatków na podstawie cech gości wieku.

Ten element jest prawidłowy tylko wtedy, gdy <Brackets> i Nie określono <Amount>, <Basis> ma wartość person i <Type> ma wartość amount.

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge 0..1 AdultCharge Kontener do określania podatków dla osób dorosłych.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / AdultCharge / @amount 1 float Stała kwota podatku dla osób dorosłych.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets 0..1 ChildAgeBrackets Pojemnik na co najmniej jedną <ChildAgeBracket> .
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket 1..n ChildAgeBracket Definiuje przedział wiekowy dzieci i odpowiednią kwotę podatku.
TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @max_age 1 integer

Określa górną granicę wieku dziecka. Dolna granica to określone w polu max_age poprzedniego nawiasu + 1. Górna i dolna granica wyznaczają warunki włącznie. Dolna granica parametru pierwszy nawias to 0.

max_age musi należeć do zakresu od 0 do 17 (włącznie).

TaxFeeInfo / Property / Taxes / Tax / AgeBrackets / ChildAgeBrackets / ChildAgeBracket / @amount 1 float Zryczałtowana kwota podatku dla dzieci w tym przedziale wiekowym.
TaxFeeInfo / Property / Taxes / Tax / UserCountries 0..1 UserCountries Kontener do wyświetlania listy krajów użytkowników, w przypadku których podatek jest uwzględnionych lub wykluczonych. Jeśli podatek jest podany, zostanie on uwzględniony lub wykluczone w przypadku użytkowników z określonych krajów.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / @type 0..1 enum Typ specyfikacji krajów użytkowników.

Prawidłowe wartości to include i exclude

Jeśli type – kraj użytkownika jest ustawiony jako include, podatek będzie dotyczył tylko użytkowników z wymienionych krajach.

A jeśli opcja Kraje użytkowników (type) to exclude, podatek będzie dotyczył tylko użytkowników spoza regionu wymienionych krajach.

Jeśli nie ma wartości atrybutu type User Kraje, będziemy ją traktować jako include, a podatek będzie dotyczył tylko użytkowników z wymienionych krajach.

TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country 1..n Country Definiuje jeden kraj z listy krajów użytkowników.
TaxFeeInfo / Property / Taxes / Tax / UserCountries / Country / @code 1 string Kod kraju CLDR, na przykład DE lub FR. Pamiętaj, że w przypadku niektórych krajów, kod kraju CLDR różni się od dwuliterowego kodu ISO dla danego kraju. Kody regionów CLDR nie są też obsługiwane.
TaxFeeInfo / Property / Taxes / Tax / Rank 1 integer

Pozycja, która określa kolejność stosowania danego podatku lub opłaty. Na przykład wartość 2 oznacza, że podatek będzie naliczany w drugiej kolejności. Ten element powinien być zawsze określony, jeśli <Type> ma wartość ustawiono na cumulative_percent. Ogólnie to kolejność i obejmują zarówno podatki, jak i opłaty. Zduplikowane wartości pozycji są dozwolone podatki i opłaty, ale może to prowadzić do niezrozumiałego zachowania, podatki i opłaty będą stosowane w sposób dowolny i łącznie. Podatki i opłaty bez pozycji w rankingu są stosowane przed wszystkimi pozycjami w rankingu.

<Rank> musi należeć do zakresu od 1 do 99 (włącznie).

TaxFeeInfo / Property / Fees 0..1 Fees Kontener na co najmniej 1 element <Fee>.
TaxFeeInfo / Property / Fees / Fee 1..n Fee

Opłata indywidualna za pobyt w obiekcie.

Wszystkie elementy podrzędne elementu <Tax> również są obsługiwane w przypadku <Fee> o tej samej składni.

Przykłady

Obowiązuje limit 300 podatków i opłat na usługę. Zapoznaj się z „Usuń podatki” przykład usuwania podatków i opłat z usługi.

Podstawowa wiadomość

Podstawowy komunikat w TaxFeeInfo:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2020-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>

Usuń podatki

Usuń wszystkie podatki i opłaty obowiązujące w przypadku wybranego hotelu:

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

Podatek Slab

Indyjski podatek od towarów i usług (GST) obowiązujący na podstawie stawek za noc. Przedziały podatkowe to:

  • Bez podatku, jeśli cena za noc jest mniejsza niż lub równa 1000.
  • 12% podatku, jeśli cena za noc jest większa niż 1000 i mniejsza niż lub równy 7500.
  • 18% podatku, jeśli cena za nocleg przekracza 7500.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2020-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>

Podatki na podstawie wieku

Podatki naliczane na podstawie wieku mieszkańców:

  • Podatek 20 USD dla osób dorosłych.
  • Podatek 10 USD dla dzieci w wieku od 11 do 17 lat.
  • 5 USD podatku w przypadku dzieci w wieku do 10 lat.
<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2020-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>

Odpowiedzi

Składnia

Komunikat TaxFeeInfoResponse ma taką składnię:

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

Elementy i atrybuty

Wiadomość TaxFeeInfoResponse zawiera te elementy elementy i atrybuty:

Element / @Atrybut Wystąpienia Typ Opis
TaxFeeInfoResponse 1 Complex element Element główny wskazujący na powodzenie lub problemy odebrane Wiadomość z prośbą o taksówkę TaxFeeInfo.
TaxFeeInfoResponse / @timestamp 1 DateTime Data i godzina utworzenia tej wiadomości.
TaxFeeInfoResponse / @id 1 string Unikalny identyfikator powiązanej wiadomości TaxFeeInfo.
TaxFeeInfoResponse / @partner 1 string Konto partnera, z którego pochodzi ta wiadomość.
TaxFeeInfoResponse / Success 0..1 Success Wskazuje, że wiadomość TaxFeeInfo została przetworzona bez ostrzeżeń, błędów i błędów.

Dozwolone wartości <Success> albo <Issues> w każdej wiadomości.

TaxFeeInfoResponse / Issues 0..1 Issues Kontener dla co najmniej jednego problemu napotkanego podczas przetwarzania TaxFeeInfo wiadomość.

Dozwolone wartości <Success> albo <Issues> w każdej wiadomości.

TaxFeeInfoResponse / Issues / Issue 1..n Issue Opis ostrzeżenia, błędu lub błędu napotkanych podczas przetwarzam wiadomość TaxFeeInfo. Szczegóły dotyczące tych problemów można znaleźć w artykule Komunikaty o błędach stanu pliku danych.
TaxFeeInfoResponse / Issues / Issue / @code 1 integer Identyfikator problemu.
TaxFeeInfoResponse / Issues / Issue / @status 1 enum

Typ napotkanego problemu.

Prawidłowe wartości to warning, error, i failure .

Przykłady

Sukces

Poniżej znajduje się odpowiedź na poprawnie przetworzone informacje podatkowe TaxFeeInfo .

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

Problemy

Poniżej znajdziesz odpowiedź na wiadomość TaxFeeInfo nieprzetworzoną z powodu .

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