Wiadomość dotycząca podatku i opłaty

Przegląd

TaxFeeInfo Wiadomość określa podatki i opłaty, które mają zastosowanie do użytkownika podczas rezerwacji obiektu, oraz przepisy podatkowe obiektu określone w witrynie. Aby dodać dane o podatkach i opłatach, użyj wiadomości o cenie (OTA_HotelRateAmountNotifRQ).

Jedyną obsługiwaną czynnością w przypadku tego komunikatu jest overlay, która służy do zastępowania danych o podatkach i opłatach w przypadku każdej usługi. Ważne jest, aby przesyłać aktualizacje podatków i opłat za każdym razem, gdy zajdą zmiany.

Więcej informacji o tym, jak przesyłać podatki i opłaty, oraz szczegółowe informacje o cenach stawek znajdziesz w zasadach dotyczących podatków i opłat.

Metody dodawania podatków i opłat

Podatki i opłaty możesz dodać na 2 sposoby:

W pierwszej metodzie w wiadomości o cenie podajesz wartość AmountAfterTax. Podatki i opłaty dodajesz, wysyłając wiadomości o cenie, które zawierają zarówno podstawowe ceny za noc (bez podatków i opłat), jak i całkowite ceny za noc (z podatkami i opłatami). Ponieważ te stawki są naliczane za noc, to podejście sprawdza się tylko w przypadku podatków i opłat opartych na wartości procentowej lub stałych kwotach naliczanych za noc. Nie można używać podatków i opłat naliczanych za pobyt.

Drugą (preferowaną) metodą jest wysyłanie w wiadomościach o stawkach tylko podstawowych stawek za noc bez podatków i opłat oraz używanie elementu TaxFeeInfo do przekazywania informacji o podatkach i opłatach na poziomie obiektu. Poszczególne podatki i opłaty mogą być nadal ograniczone do konkretnych typów pokoi i planów cenowych, które obowiązują w określonych zakresach dat.

.

Ta strona opisuje tylko preferowaną metodę używania TaxFeeInfo i odnosi się tylko do niej, a nie do metody określania AmountAfterTax w komunikacie z oceną (OTA_HotelRateAmountNotifRQ).

Metody ustawiania podatków

Podatki możesz ustawić na te sposoby:

  • Basis = [room|person]
  • Period = [stay|night]
  • Type = [percent|amount]

Jeśli okres to stay, a typ to percent, Google nalicza podatki i opłaty za cały pobyt, nawet jeśli tylko jedna data w planie podróży pokrywa się z zakresem StayDates. Nie możesz określić, że podatek i opłata mają być stosowane tylko wtedy, gdy WSZYSTKIE daty w planie podróży pokrywają się z zakresem dat pobytu. W przypadku wielu zakresów dat pobytu, które się pokrywają, zakresy StayDates są podawane w jednym otwartym zakresie. Zobacz TaxFeeInfo przykłady.

Przykłady różnych scenariuszy związanych z podatkami znajdziesz w sekcji Instrukcje. Przykłady obejmują niektóre z najczęstszych scenariuszy podatkowych, w tym instrukcje dotyczące:

  1. Podatek ryczałtowy i podatek procentowy stosowane w przypadku poszczególnych usług
  2. Podatek procentowy naliczany tylko za noce po pierwszej nocy
  3. Sposób zastąpienia starych podatków nowymi
  4. Uwzględnianie lub wykluczanie podatków w przypadku poszczególnych krajów
  5. Ustawianie podatku progresywnego z przedziałami
  6. Ustawianie podatku i opłaty podlegającej opodatkowaniu

W kolejnych sekcjach znajdziesz ogólne wytyczne, podstawowy przykład oraz scenariusze, które pomogą Ci zacząć dodawać i aktualizować informacje podatkowe.

Elementy wymagane i opcjonalne

W dokumentacji XML znajdziesz opisy elementów wymaganych i opcjonalnych. Szczegółowe informacje o atrybutach i elementach podrzędnych znajdziesz w sekcji TaxFeeInfo Elementy i atrybuty.

Składnia i schematy

Podczas tworzenia wiadomości korzystaj z przykładu TaxFeeInfoskładni, aby mieć pewność, że używasz prawidłowego formatu. Przed przesłaniem plików danych do Google możesz sprawdzić je za pomocą narzędzia XML innej firmy, np. xmllint. Schemat wiadomości TaxFeeinfo znajdziesz w artykule Schematy reklam hoteli.

Wytyczne

W tej sekcji znajdziesz ogólne wytyczne i specjalne instrukcje dotyczące ustawiania podatków i opłat.

Działania

Nakładka
Użyj działania overlay, aby zastąpić wszystkie podatki w przypadku usługi. Działanie overlay jest domyślne i jedyne obsługiwane. Wszelkie wcześniejsze podatki i opłaty dotyczące tego obiektu zostaną usunięte po zastosowaniu tej aktualizacji.

Ogólne

  • Każda Tax jest oceniana i w stosownych przypadkach obliczana na podstawie AmountBeforeTax kwoty określonej w BaseByGuestAmt.

  • Po obliczeniu wszystkich obowiązujących podatków i opłat są one dodawane do ceny podstawowej, tworząc cenę całkowitą.

  • Składnia <Tax> i <Fee> jest taka sama.

  • Podatki i opłaty mogą podlegać ograniczeniom, takim jak:

    • Dotyczy tylko określonych typów pokoi i planów cenowych.
    • Dotyczy tylko konkretnych dat pobytu.

    Te ograniczenia są opcjonalne i nie musisz ustawiać każdego typu ograniczenia. Jeśli dotyczy to wszystkich, możesz pozostawić te pola puste.

  • Wysyłaj aktualizację TaxFeeInfo za każdym razem, gdy zmienią się podatki lub opłaty.

Przykład

W tej sekcji znajdziesz podstawowy przykład wiadomości TaxFeeInfo z elementami wymaganymi i opcjonalnymi. Po przygotowaniu pliku musisz go wysłać do Google za pomocą wiadomości POST do tego punktu końcowego:

https://www.google.com/travel/hotels/uploads/taxes

Więcej informacji o wysyłaniu wiadomości metodą push/POST znajdziesz w artykule Wysyłanie wiadomości.

W przypadku atrybutu hotel_id użyj unikalnego identyfikatora hotelu, którego używasz w swoim systemie do identyfikowania obiektu. Ta wartość musi być zgodna z identyfikatorem hotelu określonym za pomocą elementu <id> w elemencie <listing> w pliku danych z listą hoteli. Spójność z Twoim systemem jest kluczowa, aby Google prawidłowo wyświetlało Twoje dane.

Ten przykład pokazuje, jak ustawić 10-procentową stawkę podatku i opłatę w wysokości 50 zł za cały pobyt (nie za noc) w przypadku obiektu:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-20T16:20:00-04:00"
            partner="partner_key"
            id="12345678">
  <Property>
    <ID>HOTELID</ID>
    <Taxes>
      <Tax>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>10</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>50</Amount>
        <Currency>USD</Currency>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Przykłady dodawania podatków związanych z wiekiem i inne przykłady znajdziesz w artykule Przykłady podatków.

Instrukcje

W tej sekcji znajdziesz rozwiązania dotyczące scenariuszy, które mogą wystąpić podczas konfigurowania podatków i opłat.

Scenariusz 1. Jak dodać podatek liniowy

Ten przykład podatku pokazuje, jak ustawić stały podatek od obiektu.

Opis

Chcesz zastosować stały podatek od pokoju lub pobytu w przypadku danej nieruchomości, a nie podatek procentowy.

Rozwiązanie

Aby dodać opcję podatku ryczałtowego, użyj znaku amount zamiast percentage.

Przykład

Ten przykład pokazuje, jak dodać podatek ryczałtowy za pomocą symbolu amount zamiast percentage:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>30</Amount>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Scenariusz 2. Jak kierować reklamy na podstawie podatków za pomocą ApplicableNights

Opis

Chcesz zastosować podatek w formie opłaty stałej tylko w przypadku nocy po pierwszej nocy. Na przykład opłata za codzienne korzystanie z określonego udogodnienia jest obowiązkowa, ale nie jest pobierana za pierwszą noc, ponieważ goście nie mieli jeszcze możliwości skorzystania z tego udogodnienia.

Rozwiązanie

Użyj ikony <ApplicableNights excluded="1"/>, aby określić, w które noce mają być naliczane podatki.

Przykład

Ten przykład pokazuje, jak używać funkcji ApplicableNights:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16:20:00-04:00"
            id="12345678"
            partner="partner_key">
  <Property>
    <ID>Property_1</ID>
    <Taxes>
      <Tax>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>night</Period>
        <Amount>50</Amount>
        <ApplicableNights excluded="1"/>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Scenariusz 3. Jak zastąpić stare podatki i opłaty nowymi

Opis

Obecne podatki i opłaty uległy zmianie i należy je zastąpić nowymi.

Rozwiązanie

Użyj działania overlay, aby usunąć wszystkie istniejące podatki i opłaty.

Przykład

Poniższy przykład pokazuje, jak usunąć wszystkie podatki i opłaty dla obiektu:

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

Scenariusz 4. Jak uwzględniać lub wykluczać podatki w przypadku poszczególnych krajów

Opis

W przypadku niektórych krajów musisz uwzględnić podatek, a w przypadku innych – nie. Na przykład musisz wykluczyć podatki w przypadku mniejszej konfederacji z podatkami spoza UE, a w przypadku wszystkich innych krajów naliczać podatki.

Rozwiązanie

W przypadku tagu UserCountries type użyj opcji include lub exclude. Użyj include, aby zastosować podatek tylko w wymienionym kraju, lub użyj exclude, aby zastosować podatek we wszystkich krajach z wyjątkiem wymienionego.

Przykład

Poniższy przykład pokazuje, jak ustawić podatki dla użytkowników spoza kraju hotelu (Izraela):

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-16T16: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>
        <UserCountries type="exclude">
          <Country code="IL"/>
        </UserCountries>
      </Tax>
    </Taxes>
  </Property>
</TaxFeeInfo>

Scenariusz 5. Jak skonfigurować podatek progresywny z przedziałami

Opis

Chcesz dodać podatek GST naliczany na podstawie stawek za noc.

Rozwiązanie

W tym scenariuszu załóżmy, że progi podatku GST w kraju docelowym są następujące:

  • Brak podatku, jeśli cena za noc jest mniejsza lub równa 1000.
  • 12% podatku, jeśli cena za noc jest większa niż 1000 PLN i mniejsza lub równa 7500 PLN.
  • 18% podatku, jeśli cena za noc jest wyższa niż 7500.

Przykład

Poniższy przykład pokazuje, jak ustawić podatek progresywny z przedziałami:

<?xml version="1.0" encoding="UTF-8"?>
<TaxFeeInfo timestamp="2022-08-28T16: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>

Scenariusz 6. Jak ustawić podatek i opłatę podlegającą opodatkowaniu

Opis

Chcesz dodać podatek, np. VAT, i inną opłatę za usługę, która również podlega temu podatkowi.

Rozwiązanie

Ten scenariusz obejmuje 2 przykładowe przypadki użycia opłat podlegających opodatkowaniu:

  • Zarówno podatek, jak i opłata podlegająca opodatkowaniu są zdefiniowane jako opłaty procentowe.
  • Podatek jest naliczany w procentach, a opłata podlegająca opodatkowaniu to stała kwota za pobyt.

Przykłady

Opłata podlegająca opodatkowaniu w procentach

W tym przykładzie kwota AmountBeforeTax wynosi 100 USD, podatek GST – 18%, a dodatkowa opłata za usługę – 5%. Łączny procent opłaty podlegającej opodatkowaniu wynosi 5,9% (5*1,18), a łączna kwota opłaty – 123,90 USD [= 118 USD (18% GST) + 5,9 USD (5,9% opłaty za usługę)].

Poniższy fragment kodu definiuje podatek (GST) i opłatę podlegającą opodatkowaniu (opłata za obsługę) jako wartości procentowe:

<TaxFeeInfo timestamp="2022-08-16T16: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>18</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>percent</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>5.9</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>

Opłata podlegająca opodatkowaniu jako kwota

W tym przykładzie AmountBeforeTax wynosi 100 USD, podatek GST to 18%, a dodatkowa opłata stała to 20 USD. Łączna opłata podlegająca opodatkowaniu wynosi 23,60 USD (20 USD*1,18), a łączna kwota opłaty to 141,60 USD [= 118 USD (18% GST) + 23,60 USD (opłata stała w wysokości 20 USD)].

Poniższy fragment kodu określa podatek (GST) w procentach i opłatę podlegającą opodatkowaniu (opłatę za obsługę) jako kwotę stałą:

<TaxFeeInfo timestamp="2022-08-16T16: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>18</Amount>
      </Tax>
    </Taxes>
    <Fees>
      <Fee>
        <Type>amount</Type>
        <Basis>room</Basis>
        <Period>stay</Period>
        <Amount>23.6</Amount>
      </Fee>
    </Fees>
  </Property>
</TaxFeeInfo>