Ü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 Mehrwerte.
Mit einer Transaktionsnachricht können Sie Folgendes tun:
- Daten für eine oder mehrere Properties definieren
- Definieren Sie Zimmertypen und Paketinformationen für jede Unterkunft.
- Produktangebote verwalten
Außerdem können Sie Aktionen für folgende Zwecke festlegen:
Fügen Sie einer Unterkunft einen Zimmertyp und ein Paket hinzu.
Entfernen Sie einen Zimmertyp und ein Paket aus einer Unterkunft.
Fügen Sie einem Paket oder einer Unterkunft Treuepunkte oder ein Prämienprogramm hinzu.
Beispiele für Transaktionsnachrichten finden Sie unter Transaktion (Unterkunftsdaten) – Beispiele.
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 vom Typ „Transaktion (Unterkunftsdaten)“.
Syntax und Schemas
Orientieren Sie sich beim Erstellen der Transaktionsnachricht an dem Beispiel für die Syntax für Transaktionen (Unterkunftsdaten), 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 Transaktionsnachrichten finden Sie unter Hotelanzeigenschemas.
Richtlinien
Beachten Sie für Transaktionsnachrichten die folgenden Richtlinien:
- Maßnahmen:
delta
: Hier können Sie neue Zimmertypen und Pakete (Preispläne) hinzufügen oder aktualisieren.overlay
: Damit können Sie alle Zimmertypen und Pakete für eine Unterkunft durch neue ersetzen. Sie müssen Informationen zu allen Zimmertypen und Preisplänen enthalten, die Sie weiterhin verkaufen möchten.- Sprachunterstützung:
Geben Sie für die Felder „Name“, „Beschreibung“ und „Untertitel“ eine bis zwei Sprachen an (Englisch und gegebenenfalls die Landessprache der Unterkunft). 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 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, kann jede Kombination aus Zimmertyp und Preisplan verwendet werden. Sie müssen weiterhin Verfügbarkeit und Preise mit den Zimmertyp- und Preisplan-IDs senden. Mit diesen Elementen kannst du Produkte steuern und Kombinationen deaktivieren, die dein System nicht mehr unterstützt.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 aufnehmen oder ausschließen möchten, richten Sie eine Konfiguration für Treuepunkte bei Google ein. Daraufhin werden die mit diesem Paket erzielten Punkte angezeigt. Weitere Informationen zu Treuepunkten
Verwenden Sie das Element
<MilesIncluded>
, um Ihre Treuepunkteaktion zu definieren oder zu aktualisieren. Weitere Informationen finden Sie unter Transaktion(Property-Daten). Treuepunkte können in<PackageData>
enthalten sein.
Beispiel
Dieser Abschnitt enthält 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 die Aktion delta
, um Zimmertypen und Pakete hinzuzufügen oder zu aktualisieren, oder overlay
, um alle Zimmertyp- und Paketdefinitionen zu ersetzen (alte Einträge werden gelöscht).
Sie müssen für die Felder „Name“, „Beschreibung“ und „Untertitel“ eine bis zwei Sprachen angeben (Englisch und bei Bedarf eine lokale Sprache für die Unterkunft). Fügen Sie dann Informationen zu den Unterkunftsdaten hinzu, einschließlich Links zu Fotos.
Verwenden Sie für <PropertyID>
und <RoomID>
dieselben IDs, die Sie in Ihrem System für Preispläne und Zimmertypen verwenden. Die Übereinstimmung mit Ihrem System ist entscheidend, damit Google Ihre Preise und Daten korrekt anzeigen kann.
Nachdem Sie die Datei vorbereitet haben, müssen Sie sie per POST-Nachricht an den folgenden Endpunkt an Google senden: https://www.google.com/travel/hotels/uploads/property_data
.
Weitere Informationen zum Pushen/POSTen von Nachrichten 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 Pakets zu vorhandenen Unterkunftsdaten und zum Entfernen vorhandener Zimmertypen und Pakete, finden Sie unter Beispiele für Transaktionen (Unterkunftsdaten).
Anleitungen
In diesem Abschnitt finden Sie Lösungen für Szenarien, die beim Senden von Transaktionsnachrichten auftreten können.
Szenario 1: Daten zu Zimmerkategorien entfernen
Wie entferne ich vorhandene Daten zu Zimmertypen und/oder Paketen?
Beschreibung
Sie haben für die Unterkunft mehrere Zimmertypen gesendet, darunter King- und Queen-Zimmer. Während der Renovierung sind alle Zimmertypen mit Queensize-Bett nicht verfügbar. Derzeit sind nur Zimmertypen mit Kingsize-Bett verfügbar.
Lösung
- Sie müssen die tägliche Verfügbarkeit, die Preise oder das Inventar für die entfernten oder deaktivierten Zimmertypen und Paket-IDs 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. Der entfernte Zimmertyp oder das entfernte Paket sind nicht enthalten.
Beispiel
In diesem XML-Snippet wird gezeigt, wie Sie mit der Aktion overlay
einen Zimmertyp 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
so festlegen, dass der Zimmertyp „Queen“ entfernt und der Zimmertyp „King“ beibehalten wird:
<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 zulässigen Paket-IDs steuern
Wie steuere ich Produkte (Kombinationen von 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 Zimmertypen (einschließlich der Präsidentensuite) und sechs verschiedene Pakete hat, aber nur wenige Pakete für die Präsidentensuite infrage kommen, können Sie die Teilnahmevoraussetzungen angeben.
Lösung
Senden Sie eine aktualisierte Transaktionsnachricht, in der angegeben ist, welche Produkte im Paket enthalten sind. Verwenden Sie dazu <AllowablePackageIDs>
.
Beispiel
In diesem XML-Snippet wird gezeigt, wie Sie mit <AllowablePackageIDs>
Pakete für einen bestimmten Zimmertyp angeben. Hier ist für den Zimmertyp „Penthouse-Suite“ nur das All-Inclusive-Paket „Penthouse“ oder das Paket „Kostenloses Frühstück“ zulässig, während für den Zimmertyp „King-Suite“ nur das All-Inclusive-Paket „King“ oder das Paket „Haustiere erlaubt“ zulässig ist.
<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 mithilfe von zulässigen Raum-IDs steuern
Wie steuere ich Produkte (Kombinationen von 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. Angenommen, Sie möchten für ein Paket nur bestimmte Zimmertypen angeben, z. B. King- und Queen-Zimmer mit Meerblick.
Lösung
Senden Sie eine aktualisierte Transaktionsnachricht, in der die genauen im Paket enthaltenen Produkte mithilfe des Elements <AllowableRoomIDs>
angegeben sind.
Beispiel
In diesem XML-Snippet wird gezeigt, wie Sie mit <AllowableRoomID>
die Zimmertypen „King“ und „Queen“ mit Meerblick im Paket angeben.
<PackageID>RO</PackageID>
<AllowableRoomIDs>
<AllowableRoomID>king_oceanview</AllowableRoomID>
<AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>