Omówienie
Komunikat ARI Transaction (Property Data) zawiera informacje o typach pokoi i pakietach (lub planach cenowych) każdej usługi. Dane każdego typu pokoju obejmują: unikalny identyfikator (RoomID
), zlokalizowaną nazwę, opis oraz adresy URL zdjęć pokoju. Dane każdego pakietu obejmują unikalny identyfikator (PackageID
), zlokalizowaną nazwę, opis, liczbę miejsc i dodatkową wartość.
Za pomocą wiadomości dotyczącej transakcji możesz:
- Zdefiniuj dane dla co najmniej 1 usługi.
- Określ typ pokoju i informacje o pakietach dla każdej usługi.
- kontrolować ofertę produktów,
Możesz też skonfigurować działania, które:
Dodaj typ pokoju i pakiet do obiektu.
usunąć typ pokoju i pakiet z obiektu.
Dodaj punkty lojalnościowe, program lojalnościowy do pakietu lub obiektu.
Przykłady wiadomości o transakcji znajdziesz w artykule Przykłady wiadomości o transakcji (dane obiektu).
Wymagane i opcjonalne elementy
Przewodnik po pliku XML zawiera opisy wymaganych i opcjonalnych elementów. 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 możesz się posiłkować przykładem składni żądania Transaction (Property Data), 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. Schemat transakcji typu message znajdziesz w sekcji Schematy reklam hoteli.
Wytyczne
W przypadku wiadomości transakcyjnej postępuj zgodnie z tymi wskazówkami:
- Działania:
delta
: służy do dodawania i aktualizowania nowych typów pokoi i pakietów (taryf).overlay
: służy do zastąpienia wszystkich typów pokoi i pakietów w obiekcie nowym zestawem. Musisz podać informacje o wszystkich typach pokoi i planach cenowych, które nadal chcesz oferować.- Obsługa języków:
W polach Nazwa, Opis i Tekst w tytule podaj 1–2 języki (jeśli to konieczne, angielski i język lokalny obiektu). 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 dotyczące tego typu pokoju lub pakietu. Na przykład podczas dodawania zdjęcia musisz podać jego nazwę i opis.
<AllowablePackageIDs>
i<AllowableRoomIDs>
są opcjonalne. Jeśli nie są ustawione, można użyć dowolnej kombinacji typu pokoju i planu cen. Nadal musisz przesłać dostępność i ceny z typem pokoju i identyfikatorami planów cenowych. Te elementy umożliwiają kontrolowanie produktów oraz 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.
- Punkty lojalnościowe:
Aby uwzględnić lub wykluczyć program nagród w pakiecie, skonfiguruj u Google konfigurację punktów lojalnościowych. Wyświetli się liczba punktów uzyskanych w związku z tym pakietem. 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 Transakcja(dane usługi). Punkty lojalnościowe mogą być uwzględniane w ramach<PackageData>
.
Przykład
W tej sekcji znajdziesz podstawowy przykład wiadomości ARI Transaction z wymaganymi i opcjonalnymi elementami. 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 typu pokoju i pakietu (usunąć stare wpisy).
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 danych obiektu, w tym linki do zdjęć.
W przypadku atrybutów <PropertyID>
i <RoomID>
użyj tych samych identyfikatorów, których używasz w swoim systemie w przypadku planów cenowych i typów pokoi. Zgodność z systemem jest kluczowa dla prawidłowego wyświetlania cen i danych przez 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
Więcej informacji o pushowaniu lub przesyłaniu wiadomości znajdziesz w artykule Pushowanie wiadomości.
Z poniższego przykładu dowiesz się, jak ustawić wiadomość dotyczącą 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 dotychczasowych danych obiektu oraz usuwać dotychczasowe typy pokoi i pakiety, znajdziesz w artykule Przykłady dotyczące transakcji (danych obiektu).
Instrukcje
W tej sekcji znajdziesz rozwiązania dotyczące scenariuszy, które mogą wystąpić podczas wysyłania wiadomości transakcyjnych.
Scenariusz 1. Jak usunąć dane typu pokoju
Jak usunąć dane dotyczące typu pokoju lub pakietu?
Opis
W przypadku obiektu wysłano wiele typów pokoi, w tym pokoje typu King i Queen. 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, cen ani liczby dostępnych pokoi 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 dezaktywowany, wyślij nową wiadomość transakcyjną z
action="overlay"
, która zawiera tylko typy pokoi i pakiety, które są nadal aktywne, i wyklucza usunięty typ pokoju lub pakiet.
Przykład
Ten fragment kodu XML pokazuje, jak użyć działania overlay
, aby usunąć typ pokoju.
Oto pierwotne 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 kontrolować produkty za pomocą AllowablePackageIDs
Jak zarządzać produktami (kombinacją 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 zaktualizowane wiadomość transakcyjną, która określa, które produkty są uwzględnione w pakiecie, za pomocą elementu <AllowablePackageIDs>
.
Przykład
Ten fragment kodu XML pokazuje, jak za pomocą elementu <AllowablePackageIDs>
określić pakiety stosowane w przypadku określonego typu pokoju. W tym przypadku apartament typu Penthouse obejmuje tylko pakiet all-inclusive Penthouse lub pakiet bezpłatnego śniadania, a apartament typu King tylko pakiet all-inclusive King lub pakiet dotyczący 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 zarządzać produktami za pomocą identyfikatorów AllowableRoomID
Jak zarządzać produktami (kombinacją typów pokoi i pakietów), gdy typy pokoi są pogrupowane według pakietu?
Opis
Połączenie typu pokoju i pakietu nie jest już sprzedawane jako produkt lub chcesz kontrolować, co jest uwzględniane w nowym pakiecie. 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 zaktualizowane wiadomość transakcyjną, która określa dokładne produkty zawarte w pakiecie za pomocą elementu <AllowableRoomIDs>
.
Przykład
Ten fragment kodu XML pokazuje, jak za pomocą elementu <AllowableRoomID>
określić typy pokoi z widokiem na ocean: King i Queen w pakiecie.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>