Przegląd
Wiadomość ARI Transaction (Property Data) określa informacje o typach pokoi i pakietach (lub planach cenowych) każdego obiektu. Dane każdego typu pokoju obejmują unikalny identyfikator (RoomID), zlokalizowaną nazwę, opis i adresy URL zdjęć pokoju. Dane każdego pakietu obejmują unikalny identyfikator (PackageID), zlokalizowaną nazwę, opis, liczbę osób, które mogą z niego korzystać, oraz dodatkowe korzyści.
Za pomocą wiadomości transakcyjnej możesz:
- Określ dane dla co najmniej 1 usługi.
- Określ typ pokoju i informacje o pakiecie dla każdego obiektu.
- zarządzać ofertą produktów,
Możesz też ustawić działania, które będą:
Dodaj do obiektu typ pokoju i pakiet.
Usuń typ pokoju i pakiet z obiektu.
Dodaj punkty lojalnościowe, czyli program nagród, do pakietu lub obiektu.
Przykłady wiadomości o transakcjach znajdziesz w sekcji Przykłady wiadomości o transakcjach (dane o nieruchomości).
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 artykule Elementy i atrybuty transakcji (dane o nieruchomości).
Składnia i schematy
Podczas tworzenia wiadomości o transakcji korzystaj z przykładu składni transakcji (dane o obiekcie), 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 Transaction znajdziesz w artykule Schematy reklam hoteli.
Wytyczne
W przypadku wiadomości transakcyjnej postępuj zgodnie z tymi wytycznymi:
- Działania:
delta: służy do dodawania lub aktualizowania nowych typów pokoi i pakietów (planów cenowych).overlay: służy do zastępowania wszystkich typów pokoi i pakietów w obiekcie nowym zestawem. Musi zawierać informacje o wszystkich typach pokoi i planach cenowych, które nadal chcesz sprzedawać.- Obsługa języków:
W polach Nazwa, Opis i Podpis podaj 1–2 języki (angielski i w razie potrzeby język lokalny). W razie potrzeby możesz dodać więcej niż 2 języki.
- Typy pokoi i pakiety:
Podczas aktualizowania typu pokoju lub pakietu musisz przesłać wszystkie powiązane informacje o tym typie pokoju lub pakiecie. Na przykład, gdy dodajesz zdjęcie, musisz też podać jego nazwę i opis.
<AllowablePackageIDs>i<AllowableRoomIDs>są opcjonalne, a jeśli nie są ustawione, można utworzyć dowolną kombinację typu pokoju i planu cenowego. Nadal musisz przesyłać dostępność i ceny z identyfikatorami typu pokoju i planu cenowego. Te elementy umożliwiają sterowanie produktami, a także dezaktywowanie kombinacji, których system już nie obsługuje.Wysyłaj do Google aktualizację wiadomości o transakcji za każdym razem, gdy zmienią się typy pokoi lub pakiety albo gdy trzeba dodać ważne szczegóły dotyczące typów pokoi lub pakietów.
- Punkty lojalnościowe:
Aby uwzględnić lub wykluczyć program nagród z pakietu, skonfiguruj program lojalnościowy z Google. Wyświetlą się punkty zdobyte w ramach tego pakietu. Dowiedz się więcej o punktach lojalnościowych.
Aby zdefiniować lub zaktualizować kampanię lojalnościową, użyj elementu
<MilesIncluded>. Więcej informacji znajdziesz w sekcji Transaction(Property Data). Punkty lojalnościowe można uwzględnić w przypadku<PackageData>.
Przykład
W tej sekcji znajdziesz podstawowy przykład wiadomości transakcji ARI z użyciem elementów wymaganych i opcjonalnych. Aby dodać lub zaktualizować typy pokoi i pakiety, użyj działania delta, aby dodać lub zaktualizować typy pokoi i pakiety, lub overlay, aby zastąpić wszystkie definicje typów pokoi i pakietów (usuwa stare wpisy).
W polach Nazwa, Opis i Podpis musisz określić 1–2 języki (angielski i w razie potrzeby język lokalny usługi). Następnie dodaj informacje o danych nieruchomości, w tym linki do zdjęć.
W przypadku atrybutów <PropertyID> i <RoomID> użyj tych samych identyfikatorów, których używasz w systemie w przypadku planów cenowych i typów pokoi (odpowiednio). Spójność z systemem jest kluczowa, aby Google prawidłowo wyświetlało Twoje ceny i dane.
Gdy przygotujesz plik, musisz wysłać go do Google za pomocą wiadomości POST do tego punktu końcowego: https://www.google.com/travel/hotels/uploads/property_data
Więcej informacji o wysyłaniu wiadomości metodą push/POST znajdziesz w artykule Wysyłanie wiadomości.
W przykładzie poniżej pokazujemy, jak ustawić wiadomość o transakcji 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>
Więcej przykładów, np. jak używać działania overlay, dodawać typ pokoju i pakiet do istniejących danych obiektu oraz usuwać istniejące typy pokoi i pakiety, znajdziesz w artykule Przykłady transakcji (dane obiektu).
Instrukcje
W tej sekcji znajdziesz rozwiązania problemów, które mogą wystąpić podczas wysyłania wiadomości transakcyjnych.
Scenariusz 1. Jak usunąć dane o rodzaju pokoju
Jak usunąć dane o istniejącym typie pokoju lub pakiecie?
Opis
Wysłano wiele typów pokoi, w tym pokoje typu King i Queen. Podczas remontu wszystkie pokoje typu Queen są niedostępne. Obecnie dostępne są tylko pokoje typu King.
Rozwiązanie
- Nie musisz aktualizować dostępności, stawek ani zasobów reklamowych w przypadku typów pokoi i identyfikatorów pakietów, które zostały usunięte lub dezaktywowane.
- Jeśli typ pokoju lub pakiet został usunięty lub wyłączony, wyślij nowy komunikat Transaction z elementem
action="overlay", który zawiera tylko aktywne typy pokoi i pakiety, a nie zawiera usuniętego typu pokoju lub pakietu.
Przykład
Ten fragment kodu XML pokazuje, jak użyć działania overlay do usunięcia typu pokoju.
Oto oryginalne działanie delta, które obejmuje typy pokoi King i Queen:
<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>
Następnie możesz ustawić overlay, aby usunąć typ pokoju Queen i zachować typ pokoju King:
<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 sterować produktami za pomocą parametru AllowablePackageIDs
Jak zarządzać produktami (kombinacjami typów pokoi i pakietów), gdy pakiety są pogrupowane według typu pokoju?
Opis
Masz pakiety, które są dostępne tylko w przypadku określonych typów pokoi. Jeśli na przykład Twój obiekt ma 4 rodzaje pokoi (w tym apartament prezydencki) i 6 różnych pakietów, ale tylko kilka pakietów kwalifikuje się do apartamentu prezydenckiego, możesz określić kryteria kwalifikacji.
Rozwiązanie
Wyślij zaktualizowaną wiadomość o transakcji, która określa, które produkty są zawarte w pakiecie, za pomocą elementu <AllowablePackageIDs>.
Przykład
Ten fragment kodu XML pokazuje, jak za pomocą elementu <AllowablePackageIDs> określić pakiety używane w przypadku określonego typu pokoju. W przypadku pokoju typu Penthouse Suite można wybrać tylko pakiet all inclusive lub pakiet ze śniadaniem, a w przypadku pokoju typu King Suite można wybrać tylko pakiet all inclusive lub pakiet dla zwierząt.
<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. Sterowanie produktami za pomocą identyfikatorów AllowableRoomIDs
Jak zarządzać produktami (kombinacjami typów pokoi i pakietów), gdy typy pokoi są pogrupowane według pakietów?
Opis
Kombinacja typu pokoju i pakietu nie jest już sprzedawana jako produkt lub chcesz kontrolować, co jest zawarte w nowym pakiecie. Możesz na przykład określić tylko niektóre typy pokoi, takie jak pokoje typu King i Queen z widokiem na ocean, które mają być dostępne w pakiecie.
Rozwiązanie
Wyślij zaktualizowaną wiadomość o transakcji, która zawiera dokładne informacje o produktach w pakiecie za pomocą elementu <AllowableRoomIDs>.
Przykład
Ten fragment kodu XML pokazuje, jak użyć elementu <AllowableRoomID>, aby określić w pakiecie typy pokoi z widokiem na ocean: King i Queen.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>