Wiadomość dotycząca transakcji (dane usługi)

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><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>