Nachricht „Transaktion (Unterkunftsdaten)“

Überblick

Die Nachricht „ARI-Transaktion (Unterkunftsdaten)“ definiert die Informationen zu den Zimmertypen und -paketen (oder Preisplänen) der einzelnen Unterkünfte. Alle Zimmertypdaten enthalten eine eindeutige ID (RoomID), einen lokalisierten Namen, eine Beschreibung und URLs zu Zimmerfotos. Alle Paketdaten enthalten eine eindeutige Kennung (PackageID), einen lokalisierten Namen, eine Beschreibung, eine Belegung und einen Mehrwert.

Mit einer Transaktionsnachricht können Sie Folgendes tun:

  • Definieren Sie Daten für eine oder mehrere Properties.
  • Definieren Sie den Zimmertyp und die Paketinformationen für jede Unterkunft.
  • Produktangebote kontrollieren

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

  • Fügen Sie einer Unterkunft einen Zimmertyp und ein Paket hinzu.
  • Zimmertyp und -paket aus einer Unterkunft entfernen.

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

Erforderliche und optionale Elemente

Die XML-Referenz enthält Beschreibungen der erforderlichen und optionalen Elemente. Weitere Informationen zu Attributen und untergeordneten Elementen finden Sie unter Elemente und Attribute von Transaktionen (Unterkunftsdaten).

Syntax und Schemas

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

Sie können Ihre Feeds mit einem Drittanbieter-XML-Tool wie xmllint mit den veröffentlichten Schemas validieren, bevor Sie sie an Google senden. Informationen zum Schema für Transaktionsnachrichten finden Sie unter Schemas für Hotelanzeigen.

Richtlinien

Beachten Sie die folgenden Richtlinien für Transaktionsnachrichten:

Maßnahmen:

delta: Wird verwendet, um neue Zimmertypen und -pakete (Preispläne) hinzuzufügen oder zu aktualisieren.

overlay: Wird verwendet, um alle Zimmertypen und -pakete für eine Unterkunft durch einen neuen Satz zu ersetzen. Sie müssen Informationen zu allen Zimmertypen und Preisplänen enthalten, die Sie noch verkaufen möchten.

Sprachunterstützung:

Geben Sie ein bis zwei Sprachen (Englisch und bei Bedarf eine lokale Sprache für die Unterkunft) für die Felder „Name“, „Beschreibung“ und „Untertitel“ an. Sie können bei Bedarf 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 das Paket senden. Wenn Sie beispielsweise ein Foto hinzufügen, müssen auch der Name und die Beschreibung angegeben werden.

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

Senden Sie Google eine Aktualisierung der Transaktionsnachricht, wenn sich die Zimmertypen oder -pakete oder wichtige Details zu Zimmertypen oder -paketen ändern, die hinzugefügt werden müssen.

Beispiel

Dieser Abschnitt enthält ein einfaches Beispiel für eine ARI-Transaktionsnachricht mit erforderlichen und optionalen Elementen. Zum Hinzufügen oder Aktualisieren von Zimmertypen und -paketen verwenden Sie eine Aktion für delta, um Zimmertypen und -pakete hinzuzufügen oder zu aktualisieren, oder overlay, um alle Zimmertyp- und Paketdefinitionen zu ersetzen (damit werden alte Einträge gelöscht).

Sie müssen ein bis zwei Sprachen (Englisch und gegebenenfalls eine lokale Sprache für die Eigenschaft) für die Felder Name, Beschreibung und Bildunterschrift angeben. Fügen Sie dann Hoteldateninformationen 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 korrekt anzeigt.

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

Weitere Informationen zum Übertragen/POSTen von Nachrichten per Push/POST finden Sie unter Nachrichten per Push übertragen.

Das folgende Beispiel zeigt, 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, etwa zur Verwendung der Aktion overlay, zum Hinzufügen eines Zimmertyps und -pakets zu vorhandenen Unterkunftsdaten sowie zum Entfernen vorhandener Zimmertypen und -pakete, finden Sie unter Beispiele für Transaktionen (Unterkunftsdaten).

Anleitungen

Dieser Abschnitt enthält Lösungen für Szenarien, die beim Senden von Transaktionsnachrichten auftreten können.

Szenario 1: Zimmertypdaten entfernen

Wie entferne ich vorhandene Zimmertyp- und/oder Paketdaten?

Beschreibung

Sie haben für die Unterkunft mehrere Zimmertypen gesendet, darunter King- und Queen-Zimmer. Bei einer Umgestaltung sind keine Zimmer mit Queensize-Bett verfügbar. Derzeit sind nur Zimmer mit Kingsize-Bett verfügbar.

Lösung

  • Sie müssen die Verfügbarkeit, Preise oder Inventar pro Übernachtung für den Zimmertyp und die 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 noch aktiven Zimmertypen und Pakete enthält und den entfernten Zimmertyp oder -paket nicht enthält.

Beispiel

Dieses XML-Snippet zeigt, wie die Aktion overlay verwendet wird, um einen Zimmertyp zu entfernen.

Hier ist die ursprüngliche delta-Aktion mit den Zimmertypen „King“ und „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>

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 mithilfe von „AllowablePackageIDs“ steuern

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

Beschreibung

Einige Ihrer Pakete sind nur für bestimmte Zimmertypen verfügbar. Wenn Ihre Unterkunft beispielsweise vier Zimmertypen (einschließlich Präsidentensuite) und sechs verschiedene Pakete hat, aber nur wenige Pakete für die Präsidentensuite infrage kommen, können Sie angeben, dass dies der Fall ist.

Lösung

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

Beispiel

Dieses XML-Snippet zeigt, wie mit <AllowablePackageIDs> Pakete angegeben werden können, die mit einem bestimmten Zimmertyp verwendet werden. Hier ist für den Zimmertyp „Penthouse-Suite“ nur das All-inclusive-Paket „Penthouse“ oder das Kostenlos-Frühstückspaket zulässig, während der Zimmertyp „King-Suite“ nur das All-inclusive-Paket „King“ oder das Paket „Haustierfreundliches Angebot“ beinhaltet.

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

Szenario 3: Produkte mit „AllowableRoomIDs“ steuern

Wie kann ich Produkte (Kombinationen aus Zimmertypen und Paketen) steuern, wenn Zimmertypen nach Paket gruppiert werden?

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. Beispiel: Sie möchten mit einem Paket nur bestimmte Zimmertypen wie King- und Queen-Zimmer mit Meerblick angeben.

Lösung

Senden Sie mithilfe des Elements <AllowableRoomIDs> eine aktualisierte Transaktionsnachricht, in der die genauen Produkte angegeben sind, die im Paket enthalten sind.

Beispiel

Dieses XML-Snippet zeigt, wie <AllowableRoomID> verwendet wird, um im Paket Zimmertypen mit Meerblick, Kingsize und Queen anzugeben.

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