Omówienie
Komunikat o transakcji ARI (dane właściwości) definiuje informacje o każdym
rodzajów pokojów i pakietów (lub abonamentów) dostępnych w danym miejscu zakwaterowania. Dane poszczególnych typów obejmują
unikalny identyfikator (RoomID
), zlokalizowana nazwa, opis i adresy URL pokoju
zdjęcia. Każdy pakiet danych zawiera unikalny identyfikator (PackageID
), zlokalizowany
nazwę, opis, liczbę osób i dodatkowe korzyści.
Za pomocą komunikatu dotyczącego transakcji możesz:
- zdefiniować dane dla co najmniej 1 usługi,
- Określ typ pokoju i informacje o pakiecie dla każdej usługi.
- Kontrola nad ofertą produktów.
Możesz też określić działania, które dają:
Dodaj do obiektu typ pokoju i pakiet.
usunąć typ pokoju i pakiet z obiektu.
Przykłady komunikatów o transakcjach znajdziesz w sekcji Transakcja (dane usługi) Przykłady.
Elementy wymagane i opcjonalne
Dokumentacja XML zawiera opisy elementów wymaganych i opcjonalnych. Szczegółowe informacje o atrybutach i elementach podrzędnych znajdziesz w artykule Elementy i atrybuty transakcji (dane nieruchomości).
Składnia i schematy
Podczas tworzenia wiadomości o transakcji możesz się posiłkować przykładem składni Transakcja (dane obiektu), aby mieć pewność, że używasz prawidłowego formatu.
Do weryfikacji plików danych możesz użyć narzędzia XML innej firmy, np. xmllint. opublikowane schematy przed przesłaniem do Google. Dla transakcji schemat wiadomości, zobacz Reklamy hoteli schematy.
Wytyczne
Postępuj zgodnie z tymi wskazówkami dotyczącymi wiadomości dotyczącej transakcji:
- Działania:
delta
: służy do dodawania lub aktualizowania nowych typów pokoi i pakietów (abonamentów).overlay
: służy do zastępowania wszystkich typów pokoi i pakietów w obiekcie obiektem nowy zestaw. Musisz podać informacje o wszystkich typach pokoi i taryfach, które nadal chcesz sprzedawać.- Obsługa języków:
Określ 1–2 języki (angielski i lokalny język usługi) w razie potrzeby) w polach Nazwa, Opis i Podpis. Możesz dodać więcej opcji w razie potrzeby więcej niż dwóch języków.
- Typy pokoi i pakiety:
Przy aktualizacji typu pokoju lub pakietu musisz przesłać wszystkie powiązane informacje o pokoju lub pakiecie. Na przykład: zdjęcie wymaga podania nazwy i opisu.
Parametry
<AllowablePackageIDs>
i<AllowableRoomIDs>
są opcjonalne, a jeśli nie są ustawione, możesz utworzyć dowolną kombinację typu pokoju i abonamentu. Nadal musisz przesłać dostępność i ceny z typem pokoju i identyfikatorami planów cenowych. Te elementy umożliwiają kontrolowanie produktów, a także dezaktywowanie kombinacji, których system nie obsługuje już.Wyślij do Google wiadomość z aktualizacją dotyczącą transakcji, gdy nastąpi zmiana typów pokoi lub pakietów albo gdy trzeba dodać ważne informacje o typach pokoi lub pakietach.
Przykład
W tej sekcji znajdziesz podstawowy przykład wiadomości transakcji ARI z użyciem
wymagane i opcjonalne elementy. Aby dodać lub zaktualizować typy pokoi i pakiety,
użyj działania dla delta
, aby dodać lub zaktualizować typy pokoi i pakiety;
overlay
, aby zastąpić wszystkie definicje typów pokoi i pakietów (stare zostaną usunięte)
wpisów).
W polach Nazwa, Opis i Napisy musisz podać 1–2 języki (angielski i jeśli to konieczne język lokalny obiektu). Następnie dodaj informacje o nieruchomościach, w tym linki do zdjęć.
W przypadku <PropertyID>
i <RoomID>
użyj tych samych identyfikatorów, których używasz w systemie
w przypadku planów stawek i typów pokojów. Zgodność z systemem jest kluczowa dla prawidłowego wyświetlania cen i danych w Google.
Po przygotowaniu pliku musisz wysłać go do Google za pomocą żądania POST do tego punktu końcowego: https://www.google.com/travel/hotels/uploads/property_data
Aby dowiedzieć się więcej o wysyłaniu/POSTĘPu wiadomości, zapoznaj się z sekcją Wysyłanie i POST wiadomości.
Poniższy przykład pokazuje, jak ustawić wiadomość Transaction za pomocą działania delta
:
<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
<PropertyDataSet action="delta">
<Property>PROPERTYID</Property>
<RoomData>
<RoomID>ROOMID</RoomID>
<Name><Text text="ROOM NAME" language="en"/></Name>
<Description>
<Text text="ROOM DESCRIPTION TEXT" language="en"/>
</Description>
<Capacity>4</Capacity>
<PhotoURL>
<Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
<URL>https://LINK TO PHOTO</URL>
</PhotoURL>
</RoomData>
<PackageData>
<PackageID>BASE</PackageID>
<Name><Text text="Internet Special" language="en"/></Name>
<Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
<Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
</PackageData>
</PropertyDataSet>
</Transaction>
Aby podać więcej przykładów, np. jak używać działania overlay
, dodaj typ pomieszczenia
do istniejących danych miejsc zakwaterowania oraz usuwać istniejące typy pomieszczeń
Pakiety, patrz Transakcja (dane usługi)
Przykłady.
Instrukcje
Ta sekcja zawiera rozwiązania scenariuszy, które mogą wystąpić podczas wysyłania wiadomości z prośbą o transakcję.
Scenariusz 1. Jak usunąć dane o typie pomieszczenia
Jak usunąć istniejące dane o rodzaju pokoju lub pakiecie?
Opis
W usłudze. Podczas przebudowy wszystkie pokoje z łóżkiem queen-size są niedostępne. Obecnie dostępne są tylko pokoje z łóżkiem king-size.
Rozwiązanie
- Nie musisz aktualizować dostępności nocy, stawek ani asortymentu w przypadku typ pokoju i identyfikatory pakietów, które zostały usunięte lub dezaktywowane.
- Jeśli typ pokoju lub pakiet zostały usunięte lub dezaktywowane, wyślij nowe
Wiadomość o transakcji z użytkownikiem
action="overlay"
obejmująca tylko pokój typy i pakiety, które są nadal aktywne z wyłączeniem usuniętego typu pokoju lub opakowanie.
Przykład
Ten fragment kodu XML pokazuje, jak za pomocą działania overlay
usunąć typ pomieszczenia.
Oto pierwotna czynność delta
, która obejmuje pokoje typu king-size i typu queen size:
<PropertyDataSet action="delta">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
<RoomData>
<RoomID>Queen</RoomID>
<Name>
<Text text="Queen" language="en"/>
</Name>
<Capacity>2</Capacity>
<!-- Additional RoomData child elements omitted. -->
</RoomData>
</PropertyDataSet>
Możesz usunąć pokój typu „overlay
” z pokojem typu queen size i zachować pokój typu king size
typ pokoju:
<PropertyDataSet action="overlay">
<Property>Property_1</Property>
<RoomData>
<RoomID>King</RoomID>
<Name>
<Text text="King" language="en"/>
</Name>
<Capacity>2</Capacity>
</RoomData>
<PackageData>
<PackageID>Standard</PackageID>
<Name>
<Text text="Standard" language="en"/>
</Name>
<Description>
<Text text="Standard rate" language="en"/>
</Description>
<Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
<BreakfastIncluded>0</BreakfastIncluded>
</PackageData>
</PropertyDataSet>
Scenariusz 2. Jak kontrolować usługi za pomocą identyfikatorów allowablePackageID
Jak sterować usługami (kombinacjami typów pokoi i pakietów), gdy pakiety są pogrupowane według typu pokoju?
Opis
Niektóre pakiety są dostępne tylko w przypadku określonych typów pokoi. Jeśli na przykład Twoja usługa ma 4 typy pokoi (w tym apartament prezydencki) i 6 różnych pakietów, ale tylko niektóre z nich kwalifikują się do zarezerwowania apartamentu prezydenckiego, możesz określić warunki kwalifikowania się.
Rozwiązanie
Wyślij zaktualizowaną wiadomość dotyczącą transakcji, która określa, które produkty są uwzględnione
w pakiecie za pomocą funkcji <AllowablePackageIDs>
.
Przykład
Ten fragment kodu XML pokazuje, jak za pomocą atrybutu <AllowablePackageIDs>
określić pakiety
w pokoju określonego typu. Apartament typu penthouse zezwala na
Penthouse all inclusive lub bezpłatne śniadanie,
W apartamentach z łóżkiem typu king size można korzystać tylko z apartamentu all inclusive z łóżkiem typu king size lub
Przesyłka dla zwierząt domowych.
<RoomData>
<RoomID>penthouse_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
<AllowablePackageID>free_breakfast</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
<RoomID>king_suite</RoomID>
<AllowablePackageIDs>
<AllowablePackageID>king_all_inclusive</AllowablePackageID>
<AllowablePackageID>pet_friendly</AllowablePackageID>
</AllowablePackageIDs>
<!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
<PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
<PackageID>pet_friendly</PackageID>
</PackageData>
Scenariusz 3. Jak sterować usługami za pomocą identyfikatorów allowableRoomID
Jak kontrolować usługi (kombinacje typów pokojów i pakietów), gdy typy pokoi są pogrupowane według pakietu?
Opis
Typ pokoju i pakiet nie są już sprzedawane jako produkt lub aby kontrolować, co zawiera nowy pakiet. Możesz na przykład określić w pakiecie tylko określone typy pokoi, np. pokoje typu King i Queen z widokiem na ocean.
Rozwiązanie
Wyślij zaktualizowaną wiadomość dotyczącą transakcji, która określa konkretne produkty
z pakietem za pomocą elementu <AllowableRoomIDs>
.
Przykład
Ten fragment kodu XML pokazuje, jak użyć parametru <AllowableRoomID>
do określenia typu Oceanview King
i typu queen size w pakiecie.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>