Omówienie
Wiadomość TaxFeeInfo
określa podatki i opłaty, które obowiązują użytkownika podczas rezerwacji obiektu, na podstawie przepisów podatkowych obiektu opisanych na stronie internetowej. Aby dodać dane o podatkach i opłatach, użyj wiadomości o cenie (OTA_HotelRateAmountNotifRQ
).
Jedynym obsługiwanym działaniem w przypadku tego komunikatu jest overlay
, które służy do zastąpienia danych o podatkach i opłatach w przypadku każdej usługi. Ważne jest, aby w przypadku zmian wysyłać aktualizacje dotyczące podatków i opłat.
Metody dodawania podatków i opłat
Istnieją 2 podstawowe sposoby dodawania podatków i opłat:
W pierwszej metodzie podajesz AmountAfterTax
w wiadomości z ceną. Dodajesz podatki i opłaty, wysyłając wiadomości z ceną, które zawierają zarówno stawki podstawowe za noc (bez podatków i opłat), jak i łączne stawki za noc (z podatkami i opłatami). Te stawki są stawkami za noc, więc to podejście działa tylko w przypadku podatków i opłat procentowych lub stałych kwot za noc. Nie można używać podatków i opłat za pobyt.
Druga (preferowana) metoda polega na wysyłaniu w wiadomościach o stawkach tylko stawek bez podatku i opłat, a do przekazywania podatków i opłat na poziomie obiektu należy używać atrybutu TaxFeeInfo
. Poszczególne podatki i opłaty mogą być ograniczone do określonych typów pokoi i planów cenowych, które obowiązują w określonych zakresach dat.
Ta strona opisuje i odnosi się tylko do preferowanej metody używania TaxFeeInfo
, a nie do metody określania AmountAfterTax
w wiadomości Ocenianie (OTA_HotelRateAmountNotifRQ
).
Metody konfigurowania podatków
Do wyboru masz te opcje ustawiania podatków:
- Basis = [room|person]
- Okres = [pobyt|noc]
- Typ = [procent|amount]
Jeśli okres to stay
, a typ to percent
, Google stosuje podatki i opłaty za cały pobyt, nawet jeśli pojedyncza data w planie podróży pokrywa się z zakresem StayDates
. Nie możesz określić naliczania podatku i opłaty, jeśli WSZYSTKIE daty w planie podróży pokrywają się z zakresem dat pobytu. W przypadku wielu zakresów dat pobytu, które się nakładają, zakresy StayDates
są określone w jednym otwartym zakresie. Zapoznaj się z TaxFeeInfo
przykładami.
Przykłady różnych scenariuszy związanych z podatkami znajdziesz w artykule z instrukcjami. Przykłady obejmują niektóre najczęstsze scenariusze podatkowe, w tym instrukcje dotyczące:
- Podatek ryczałtowy i podatek procentowy naliczany na podstawie usługi
- Podatek procentowy jest naliczany tylko za noce po pierwszej nocy
- Metoda zastępowania starych podatków nowymi
- Uwzględnianie lub wykluczanie podatków w poszczególnych krajach
- Ustaw podatek ryczałtowy z nawiasami
- Ustawianie podatku i opłaty podlegającej opodatkowaniu
W następnych sekcjach znajdziesz ogólne wskazówki, podstawowy przykład i scenariusze, które pomogą Ci zacząć dodawać i aktualizować informacje o podatniku.
Wymagane i opcjonalne elementy
Przewodnik po formacie XML zawiera opisy wymaganych i opcjonalnych elementów. Szczegółowe informacje o atrybutach i elementach podrzędnych znajdziesz w artykule TaxFeeInfo
Elementy i atrybuty.
Składnia i schematy
Podczas tworzenia wiadomości użyj przykładu TaxFeeInfo
Syntax, aby mieć pewność, że używasz prawidłowego formatu. Przed przesłaniem plików danych do Google możesz użyć narzędzia XML innej firmy, np. xmllint, aby sprawdzić je pod kątem zgodności z opublikowanymi schematami. Informacje o schemacie 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
- Aby zastąpić wszystkie podatki w usłudze, użyj działania
overlay
. Działanieoverlay
jest domyślnym i jedynym obsługiwanym działaniem. Po zastosowaniu tej aktualizacji wszystkie poprzednie podatki i opłaty związane z tym miejscem zakwaterowania zostaną usunięte.
Ogólne
Każda wartość
Tax
jest oceniana i, w stosownych przypadkach, obliczana na podstawie wartościAmountBeforeTax
określonej wBaseByGuestAmt
.Po obliczeniu wszystkich podatków i opłat są one dodawane do ceny podstawowej, tworząc cenę łączną.
Składnia funkcji
<Tax>
i<Fee>
jest taka sama.Podatki i opłaty mogą mieć ograniczenia, takie jak:
- Dotyczy tylko określonych typów pokoi i planów cenowych.
- Dotyczy tylko określonych dat pobytu.
Te ograniczenia są opcjonalne i nie musisz ustawiać wszystkich typów ograniczeń. Możesz pozostawić je puste, jeśli dotyczy to wszystkich.
W przypadku zmiany podatków lub opłat wyślij aktualizację
TaxFeeInfo
.
Przykład
W tej sekcji znajdziesz podstawowy przykład wiadomości TaxFeeInfo
z wymaganymi i opcjonalnymi elementami. Po przygotowaniu pliku musisz go wysłać do Google, używając do tego celu komunikatu POST do tego punktu końcowego:
https://www.google.com/travel/hotels/uploads/taxes
Więcej informacji o pushowaniu lub przesyłaniu wiadomości znajdziesz w artykule Pushowanie wiadomości.
W przypadku atrybutu hotel_id
użyj unikalnego identyfikatora hotelu, którego używasz w swoim systemie do identyfikacji obiektu. Ta wartość musi być zgodna z identyfikatorem hotelu określonym za pomocą elementu <id>
w pliku danych z listą hoteli (<listing>
). Zgodność z systemem jest kluczowa dla prawidłowego wyświetlania danych w Google.
Ten przykład pokazuje, jak ustawić 10% stawkę podatku i opłatę w wysokości 50 USD za pobyt (nie za noc):
<?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 płaski
Ten przykład podatku pokazuje, jak ustawić stały podatek za obiekt.
Opis
Chcesz zastosować stały podatek od pokoju lub pobytu w danej nieruchomości zamiast podatku procentowego.
Rozwiązanie
Aby dodać opcję podatku liniowego, użyj wartości amount
zamiast percentage
.
Przykład
Ten przykład pokazuje, jak dodać podatek płaski, używając 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 podatki za pomocą ApplicableNights
Opis
chcesz zastosować opłatę stałą tylko do nocy po pierwszej nocy; Na przykład w przypadku obowiązkowej opłaty za codzienne korzystanie z określonej udogodnienia, która nie jest uwzględniona w cenie pierwszej nocy, gdy goście nie mieli możliwości korzystania z tej udogodnienia.
Rozwiązanie
Użyj opcji <ApplicableNights excluded="1"/>
, aby określić, w których dniach 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 muszą zostać zastąpione nowymi.
Rozwiązanie
Aby usunąć wszystkie istniejące podatki i opłaty, użyj działania overlay
.
Przykład
Ten przykład pokazuje, jak usunąć wszystkie podatki i opłaty za obiekt:
<?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ędnić lub wykluczyć podatki w przypadku krajów
Opis
Musisz uwzględnić podatek w przypadku niektórych krajów, a w przypadku innych go nie uwzględniać. Na przykład musisz wykluczyć podatki w przypadku mniejszej konfederacji z podatkami poza UE, a jednocześnie opodatkować wszystkie inne kraje.
Rozwiązanie
Użyj opcji include
lub exclude
w przypadku UserCountries type
.
Użyj wartości include
, aby zastosować podatek tylko w wymienionym kraju, lub exclude
, aby zastosować podatek we wszystkich krajach z wyjątkiem wymienionego.
Przykład
Ten przykład pokazuje, jak ustawić podatki dla użytkowników spoza kraju hotelu (Izrael):
<?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 ustawić podatek płaski z użyciem nawiasów
Opis
Chcesz dodać podatek GST naliczany według stawek za noc.
Rozwiązanie
W tym scenariuszu zakładamy, że stawki podatku GST w kraju docelowym są następujące:
- Brak podatku, jeśli stawka za noc jest równa lub mniejsza niż 1000.
- 12% podatku, jeśli stawka za noc jest większa niż 1000 zł i nie przekracza 7500 zł.
- 18% podatku, jeśli stawka za noc przekracza 7500 JPY.
Przykład
Ten przykład pokazuje, jak ustawić podatek płaski za pomocą nawiasów:
<?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, oraz inną opłatę za obsługę, która również podlega temu podatkowi.
Rozwiązanie
W tym scenariuszu rozpatrzymy 2 przykładowe przypadki użycia podlegających opodatkowaniu opłat:
- Zarówno podatek, jak i opłata podlegająca opodatkowaniu są określane jako opłaty procentowe.
- Podatek jest naliczany procentowo, a opłata podlegająca opodatkowaniu jest kwotą stałą za pobyt.
Przykłady
Opłata podlegająca opodatkowaniu wyrażona w procentach
W tym przykładzie AmountBeforeTax
to 100 USD, podatek GST to 18%, a dodatkowa opłata za obsługę to 5%. Łączna kwota podatku wynosi więc 5,9% (5*1,18), a łączna stawka to 123,90 USD (118 USD (18% podatku GST) + 5,9 USD (5,9% opłaty za obsługę)).
Ten fragment kodu definiuje podatek (GST) i opłatę podlegającą opodatkowaniu (opłatę 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>
Podatkowa opłata jako kwota
W tym przykładzie AmountBeforeTax
wynosi 100 USD, podatek GST – 18%, a dodatkowa opłata ryczałtowa – 20 USD. Łączna kwota podlegająca opodatkowaniu wynosi 23,60 USD (20 USD*1,18), a łączna kwota 141,60 USD (118 USD (18% podatku GST) + 23,60 USD (opłata ryczałtowa)).
Poniższy fragment kodu definiuje podatek (GST) w procentach, a 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>