Opis
Komunikat ARI Transaction (Property Data) zawiera informacje o typach pokojów i pakietach (lub planach stawek) poszczególnych obiektów. Dane każdego rodzaju pokoju obejmują unikalny identyfikator (RoomID
), zlokalizowaną nazwę, opis i adresy URL zdjęć pokoju. Wszystkie dane pakietu obejmują unikalny identyfikator (PackageID
), zlokalizowaną nazwę, opis, liczbę osób i dodatkowe korzyści.
Korzystając z wiadomości dotyczącej transakcji, możesz:
- Zdefiniuj dane dla co najmniej jednej usługi.
- Dla każdego obiektu podaj typ pokoju i informacje o pakiecie.
- Kontroluj oferty produktów.
Możesz też skonfigurować następujące działania:
- Dodaj rodzaj pokoju i pakiet do nieruchomości.
- Usuń typ pokoju i pakiet z nieruchomości.
Przykłady komunikatów o transakcjach znajdziesz w sekcji Przykłady transakcji (dane usługi).
Elementy wymagane i opcjonalne
Plik XML Reference zawiera opisy elementów wymaganych i opcjonalnych. Szczegółowe informacje o atrybutach i elementach podrzędnych znajdziesz w artykule Elementy i atrybuty transakcji (dane usługi).
Składnia i schematy
Podczas tworzenia wiadomości o transakcji użyj przykładowej składni danych transakcji, aby mieć pewność, że używasz prawidłowego formatu.
Aby zweryfikować pliki danych z opublikowanymi schematami przed przesłaniem ich do Google, możesz użyć narzędzia XML innej firmy, np. xmllint. Schemat wiadomości o transakcji znajdziesz w sekcji Schematy Reklam hoteli.
Wytyczne
W przypadku wiadomości o transakcji postępuj zgodnie z tymi wskazówkami:
- Działania:
delta
: służy do dodawania lub aktualizowania nowych rodzajów pokojów i pakietów (abonamentów).overlay
: służy do zastępowania wszystkich typów pomieszczeń i pakietów w usłudze nowym zestawem. Musisz uwzględnić informacje o wszystkich typach pokojów i abonamentach, które nadal chcesz sprzedawać.- Obsługa języków:
W polach Nazwa, Opis i Napisy określ jeden lub dwa języki (angielski i lokalny język właściwości, jeśli jest to potrzebne). W razie potrzeby możesz dodać więcej niż 2 języki.
- Rodzaje pomieszczeń i pakiety:
Zmieniając rodzaj pokoju lub pakiet, musisz przesłać wszystkie informacje dotyczące tego typu pokoju lub pakietu. Jeśli na przykład dodajesz zdjęcie, musisz też podać jego nazwę i opis.
<AllowablePackageIDs>
i<AllowableRoomIDs>
są opcjonalne. Jeśli nie są ustawione, możesz utworzyć dowolną kombinację typu pokoju i abonamentu. Nadal musisz przesłać informacje o dostępności i stawkach zawierające typ pokoju i identyfikatory abonamentu. Te elementy pozwalają kontrolować produkty oraz dezaktywować te, których system już nie obsługuje.Wysyłaj do Google aktualne informacje o transakcjach, gdy nastąpi zmiana rodzajów pokojów lub pakietów albo otrzymasz ważne informacje o typach pokojów i pakietach, które należy dodać.
Przykład
Ta sekcja zawiera podstawowy przykład wiadomości o transakcji ARI zawierającej elementy wymagane i opcjonalne. Aby dodać lub zaktualizować typy sal i pakietów, użyj działania, które delta
dodaje lub aktualizuje typy pomieszczeń i pakietów, lub overlay
, aby zastąpić wszystkie definicje typów sal i pakietów (usuwa stare wpisy).
Musisz określić jeden lub dwa języki (angielski i lokalny dla właściwości, jeśli jest to potrzebne) w polach Nazwa, Opis i Podpis. Następnie dodaj informacje o obiektach, w tym linki do zdjęć.
W przypadku usług <PropertyID>
i <RoomID>
używaj tych samych identyfikatorów co w swoim systemie na potrzeby planów stawek i typów pomieszczeń. Systematyczność z systemem jest niezbędna do prawidłowego wyświetlania cen i danych przez Google.
Po przygotowaniu pliku 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 przekazywaniu wiadomości w trybie push/OPUBLIKUJ znajdziesz w sekcji o wysyłaniu wiadomości.
Z przykładu poniżej dowiesz się, 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, takich jak użycie działania overlay
, dodanie rodzaju pokoju i pakietu do istniejących danych o nieruchomościach oraz usunięcie dotychczasowych typów i pakietów pokojów, znajdziesz w sekcji Przykłady transakcji (dane o obiekcie).
Instrukcje
Ta sekcja przedstawia rozwiązania problemów, które mogą wystąpić podczas wysyłania wiadomości o transakcjach.
Scenariusz 1. Jak usunąć dane dotyczące rodzaju pokoju
Jak usunąć obecny rodzaj pokoju lub dane pakietu?
Opis
W tym hotelu wysłano kilka typów pokojów, w tym typu king-size i typu queen size. Pokoje typu queen size nie są dostępne podczas remontu. Obecnie są dostępne tylko pokoje typu king size.
Rozwiązanie
- Nie musisz aktualizować dostępności, stawek ani asortymentu za noc w przypadku typu pokoju ani identyfikatorów pakietów, które zostały usunięte lub dezaktywowane.
- Jeśli rodzaj pokoju lub pakiet został usunięty lub zdezaktywowany, wyślij do:
action="overlay"
nową wiadomość o transakcji. Będzie ona zawierać tylko aktywne typy pokojów i pakiety, a poza tym nie zawiera usuniętego typu pokoju lub pakietu.
Przykład
Ten fragment kodu XML pokazuje, jak za pomocą działania overlay
usunąć typ pomieszczenia.
Oto oryginalne działanie delta
, które 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>
Następnie możesz ustawić pokój overlay
tak, aby usunąć pokój typu queen size i pozostawić pokój typu king-size:
<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ć produkty za pomocą identyfikatorów dozwolonych pakietów
Jak zarządzać produktami (kombinacjami rodzajów pokojów i pakietów), gdy pakiety są grupowane według typu pokoju?
Opis
Niektóre pakiety są dostępne tylko dla określonych rodzajów pokojów. Jeśli na przykład obiekt obejmuje 4 rodzaje pomieszczeń (w tym apartament prezydencki) i sześć pakietów, ale tylko kilka z nich kwalifikuje się do apartamentu prezydenckiego, możesz określić, jakie to ma miejsce.
Rozwiązanie
Wyślij zaktualizowaną wiadomość dotyczącą transakcji zawierającą informacje o tym, które produkty znajdują się w pakiecie z użyciem atrybutu <AllowablePackageIDs>
.
Przykład
Ten fragment kodu XML pokazuje, jak za pomocą atrybutu <AllowablePackageIDs>
określać pakiety używane z określonym typem pomieszczenia. W przypadku apartamentu typu penthouse dozwolony jest tylko pakiet all inclusive Penthouse lub pakiet śniadaniowy w cenie, a w apartamencie typu king-size możliwy jest tylko pakiet all inclusive typu king-size 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. Jak zarządzać produktami za pomocą identyfikatorów allowableRoomID
Jak kontrolować produkty (kombinacje rodzajów pokojów i pakietów), gdy typy pomieszczeń są pogrupowane według pakietu?
Opis
Połączenie typu pokoju i pakietu nie jest już sprzedawane jako produkt lub chcesz kontrolować zawartość nowego pakietu. W pakiecie wybierz np. tylko niektóre rodzaje pokoi, takie jak pokoje typu king-size i typu queen size z widokiem na ocean.
Rozwiązanie
Wyślij zaktualizowaną wiadomość dotyczącą transakcji zawierającą za pomocą elementu <AllowableRoomIDs>
konkretne produkty zawarte w pakiecie.
Przykład
Ten fragment kodu XML pokazuje, jak za pomocą operatora <AllowableRoomID>
określić w pakiecie pokoje typu king-size i z widokiem na ocean.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>