Nachricht „Transaktion (Unterkunftsdaten)“

Übersicht

In der ARI-Nachricht „Transaktion (Unterkunftsdaten)“ werden die Informationen zu den Zimmertypen und Paketen (oder Preisplänen) der einzelnen Unterkünfte definiert. Die Daten für jeden Zimmertyp enthalten eine eindeutige Kennung (RoomID), einen lokalisierten Namen, eine Beschreibung und URLs zu Zimmerfotos. Jedes Paket enthält eine eindeutige Kennung (PackageID), einen lokalisierten Namen, eine Beschreibung, die Belegung und Mehrwertleistungen.

Mit einer Transaktionsmitteilung haben Sie folgende Möglichkeiten:

  • Definieren Sie Daten für eine oder mehrere Properties.
  • Definieren Sie Zimmer- und Paketinformationen für jede Unterkunft.
  • Produktangebote steuern

Außerdem können Sie Aktionen für Folgendes festlegen:

  • Fügen Sie einer Unterkunft einen Zimmertyp und ein Zimmerpaket hinzu.

  • Entfernen Sie einen Zimmertyp und ein Paket aus einem Hotel.

  • Fügen Sie einem Paket oder einer Unterkunft Treuepunkte oder ein Prämienprogramm hinzu.

Beispiele für Transaktionsnachrichten finden Sie unter Beispiele für Transaktionsnachrichten (Unterkunftsdaten).

Erforderliche und optionale Elemente

In der XML-Referenz finden Sie Beschreibungen der erforderlichen und optionalen Elemente. Weitere Informationen zu Attributen und untergeordneten Elementen finden Sie unter Elemente und Attribute für Transaktion (Unterkunftsdaten).

Syntax und Schemas

Verwenden Sie das Beispiel für die Syntax von „Transaktion (Unterkunftsdaten)“ als Referenz, wenn Sie die Transaktionsnachricht erstellen, um sicherzustellen, dass Sie das richtige Format verwenden.

Sie können ein XML-Tool eines Drittanbieters wie xmllint verwenden, um Ihre Feeds mit den veröffentlichten Schemas zu validieren, bevor Sie sie an Google senden. Das Schema für die Transaktionsnachricht finden Sie unter Hotelanzeigenschemas.

Richtlinien

Beachten Sie bei Transaktionsnachrichten die folgenden Richtlinien:

Maßnahmen:

delta: Hiermit können Sie neue Zimmertypen und Pakete (Ratenpläne) hinzufügen oder aktualisieren.

overlay: Damit können Sie alle Zimmertypen und Pakete für eine Unterkunft durch eine neue Gruppe ersetzen. Muss Informationen zu allen Zimmerkategorien und Preisplänen enthalten, die Sie weiterhin verkaufen möchten.

Sprachunterstützung:

Geben Sie für die Felder „Name“, „Beschreibung“ und „Bildunterschrift“ ein bis zwei Sprachen an (Englisch und bei Bedarf eine lokale Sprache für die Unterkunft). Bei Bedarf können Sie mehr als zwei Sprachen hinzufügen.

Zimmertypen und Pakete:

Wenn Sie einen Zimmertyp oder ein Paket aktualisieren, müssen Sie alle zugehörigen Informationen für diesen Zimmertyp oder dieses Paket senden. Wenn Sie beispielsweise ein Foto hinzufügen, müssen Sie auch den Namen und die Beschreibung angeben.

<AllowablePackageIDs> und <AllowableRoomIDs> sind optional. Wenn sie nicht festgelegt sind, ist jede Kombination aus Zimmertyp und Preisplan möglich. Sie müssen weiterhin Verfügbarkeit und Preise mit den Zimmer- und Preisplan-IDs senden. Mit diesen Elementen können Sie Produkte steuern und Kombinationen deaktivieren, die von Ihrem System nicht mehr unterstützt werden.

Senden Sie Google eine aktualisierte Transaktionsnachricht, wenn sich Zimmertypen oder Pakete ändern oder wichtige Details zu Zimmertypen oder Paketen hinzugefügt werden müssen.

Treuepunkte:

Wenn Sie das Prämienprogramm in Ihr Paket ein- oder ausschließen möchten, richten Sie eine Konfiguration für Treuepunkte bei Google ein. Daraufhin werden die mit diesem Paket gesammelten Punkte angezeigt. Weitere Informationen zu Treuepunkten

Verwenden Sie das Element <MilesIncluded>, um Ihre Treuepunkte-Kampagne zu definieren oder zu aktualisieren. Weitere Informationen finden Sie unter Transaktion(Property-Daten). Treuepunkte können mit <PackageData> angegeben werden.

Beispiel

In diesem Abschnitt finden Sie ein einfaches Beispiel für eine ARI-Transaktionsnachricht mit erforderlichen und optionalen Elementen. Wenn Sie Zimmertypen und Pakete hinzufügen oder aktualisieren möchten, verwenden Sie eine Aktion für delta, um Zimmertypen und Pakete hinzuzufügen oder zu aktualisieren, oder overlay, um alle Definitionen von Zimmertypen und Paketen zu ersetzen (alte Einträge werden gelöscht).

Sie müssen ein bis zwei Sprachen (Englisch und bei Bedarf eine lokale Sprache für die Unterkunft) für die Felder „Name“, „Beschreibung“ und „Bildunterschrift“ angeben. Fügen Sie dann Informationen zu den Unterkünften hinzu, einschließlich Links zu Fotos.

Verwenden Sie für <PropertyID> und <RoomID> dieselben IDs, die Sie in Ihrem System für Preispläne bzw. Zimmertypen verwenden. Die Konsistenz mit Ihrem System ist entscheidend dafür, dass Google Ihre Preise und Daten richtig anzeigt.

Nachdem Sie die Datei vorbereitet haben, müssen Sie sie über eine POST-Nachricht an den folgenden Endpunkt senden: https://www.google.com/travel/hotels/uploads/property_data

Weitere Informationen zum PUSH/POST-Vorgang für die Nachricht finden Sie unter Nachrichten pushen.

Im folgenden Beispiel wird gezeigt, wie die Transaktionsnachricht mit einer delta-Aktion festgelegt wird:

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

Weitere Beispiele, z. B. zur Verwendung der Aktion overlay, zum Hinzufügen eines Zimmertyps und eines Pakets zu vorhandenen Unterkunftsdaten sowie zum Entfernen vorhandener Zimmertypen und Pakete, finden Sie unter Beispiele für „Transaktion (Unterkunftsdaten)“.

Anleitungen

In diesem Abschnitt finden Sie Lösungen für Szenarien, die beim Senden von Transaktionsnachrichten auftreten können.

Szenario 1: Daten zum Zimmertyp entfernen

Wie entferne ich vorhandene Daten zu Zimmertypen und/oder Zimmerpaketen?

Beschreibung

Sie haben mehrere Zimmertypen für die Unterkunft gesendet, darunter Zimmer mit Kingsize- und Queensize-Betten. Alle Queen-Zimmertypen sind während der Renovierung nicht verfügbar. Derzeit sind nur King-Zimmertypen verfügbar.

Lösung

  • Sie müssen die Verfügbarkeit, Preise oder das Inventar für die Zimmer- und Paket-IDs, die entfernt oder deaktiviert wurden, nicht aktualisieren.
  • Wenn der Zimmertyp oder das Paket entfernt oder deaktiviert wurde, senden Sie eine neue Transaktionsnachricht mit action="overlay", die nur die Zimmertypen und Pakete enthält, die noch aktiv sind, und den entfernten Zimmertyp oder das entfernte Paket ausschließt.

Beispiel

In diesem XML-Snippet wird gezeigt, wie Sie mit der Aktion overlay einen Zimmertyp entfernen.

Hier ist die ursprüngliche delta-Aktion, die die Zimmertypen „King“ und „Queen“ enthält:

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

Sie können dann overlay festlegen, um den Zimmertyp „Queen“ zu entfernen und den Zimmertyp „King“ beizubehalten:

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

Szenario 2: Produkte mit AllowablePackageIDs steuern

Wie steuere ich Produkte (Kombinationen aus Zimmertypen und Paketen), wenn Pakete nach Zimmertyp gruppiert sind?

Beschreibung

Sie haben bestimmte Pakete, die nur für bestimmte Zimmertypen verfügbar sind. Wenn Ihre Unterkunft beispielsweise vier Zimmerkategorien (einschließlich Präsidentensuite) und sechs verschiedene Pakete hat, aber nur wenige Pakete für die Präsidentensuite infrage kommen, können Sie die Berechtigung angeben.

Lösung

Senden Sie eine aktualisierte Transaktionsnachricht, in der mit <AllowablePackageIDs> angegeben wird, welche Produkte im Paket enthalten sind.

Beispiel

In diesem XML-Snippet wird gezeigt, wie Sie mit <AllowablePackageIDs> Pakete für einen bestimmten Zimmertyp angeben. Beim Zimmertyp „Penthouse Suite“ ist nur das All-inclusive-Paket „Penthouse“ oder das Paket „Kostenloses Frühstück“ möglich. Beim Zimmertyp „King Suite“ ist nur das All-inclusive-Paket „King“ oder das Paket „Haustierfreundlich“ möglich.

<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>
Wenn Sie <AllowablePackageIDs> oder <AllowableRoomIDs> verwenden, um eine Kombination zu deaktivieren, die Sie möglicherweise zuvor verwendet haben, die aber jetzt in Ihrem System nicht mehr zulässig ist, müssen Sie ARI nicht für alle Daten noch einmal senden, nur um die vorherigen Daten zu entfernen.

Szenario 3: Produkte mit AllowableRoomIDs steuern

Wie steuere ich Produkte (Kombinationen aus Zimmertypen und Paketen), wenn Zimmertypen nach Paket gruppiert sind?

Beschreibung

Eine Kombination aus Zimmertyp und Paket wird nicht mehr als Produkt verkauft oder Sie möchten festlegen, was in einem neuen Paket enthalten ist. Sie möchten beispielsweise nur bestimmte Zimmertypen wie King- und Queen-Zimmer mit Meerblick mit einem Paket angeben.

Lösung

Senden Sie eine aktualisierte Transaktionsnachricht, in der die genauen Produkte angegeben sind, die im Paket enthalten sind. Verwenden Sie dazu das Element <AllowableRoomIDs>.

Beispiel

In diesem XML-Snippet wird gezeigt, wie Sie mit <AllowableRoomID> die Zimmertypen „King-Zimmer mit Meerblick“ und „Queen-Zimmer mit Meerblick“ im Paket angeben.

<PackageID>RO</PackageID>
<AllowableRoomIDs>
  <AllowableRoomID>king_oceanview</AllowableRoomID>
  <AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>