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:
- Podatek ryczałtowy i podatek procentowy stosowane w przypadku poszczególnych usług
- Podatek procentowy naliczany tylko za noce po pierwszej nocy
- Sposób zastąpienia starych podatków nowymi
- Uwzględnianie lub wykluczanie podatków w przypadku poszczególnych krajów
- Ustawianie podatku progresywnego z przedziałami
- 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łanieoverlayjest 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
Taxjest oceniana i w stosownych przypadkach obliczana na podstawieAmountBeforeTaxkwoty określonej wBaseByGuestAmt.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ę
TaxFeeInfoza 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>