Zimmerpakete

Mit Zimmerpaketen können Sie mehrere Zimmertypen für ein einzelnes Hotel definieren oder einen Reiseplan für ein Zimmer mit Preismerkmalen – zusätzliche Dienste mit Preis und Verkaufsbedingungen – kombinieren, die über den Standardpreis hinausgehen.

Wichtige Konzepte und Workflows

Mit Zimmerpaketen können Sie zusätzliche Kombinationen physischer Zimmertypen mit verschiedenen Servicepaketen anbieten.

Die folgende Abbildung zeigt Beispiele für Zimmerpakete:

In diesem Beispiel ist das erste Set das Basiszimmer, mit einem Rabatt für nur einen Erwachsenen. Der zweite ist ein anderer Zimmertyp, der für bis zu drei erwachsene Personen zur Verfügung steht. Der dritte ist ein anderer Zimmertyp innerhalb desselben Attributs. Das vierte ist ein „Premium“-Paket des Basiszimmers, das Ausstattung wie kostenloses Frühstück oder einen späteren Bezahlvorgang beinhalten kann.

Die folgenden Bilder zeigen Beispiele für Preismerkmale:

Für die Anzeige von Zimmerpaketen und Preismerkmalen in Suchergebnissen gelten dieselben Auswahlverfahren wie für Standardzimmerpreise.

Zimmerpakete

Sie definieren Zimmerpakete und Preisfeatures in Transaktionsnachrichten. Das Stammelement einer Transaktionsnachricht ist <Transaction>.

Die Struktur der Transaktionsnachricht hängt davon ab, was Sie tun: Metadaten für das Zimmerpaket oder die Preisfunktion definieren oder die Preise oder Verfügbarkeit des Zimmerpakets aktualisieren.

Metadaten
Definieren Sie Zimmerpakete und Preismerkmalmetadaten mit <PackageData> in einem <PropertyDataSet>-Element. Weitere Informationen finden Sie unter Zimmer- und Paketmetadaten definieren. Für Zimmerpakete werden vorhandene <RoomData>-Elemente für die physischen Zimmerbeschreibungen verwendet.
Preise und Verfügbarkeit
Definieren Sie Zimmerpaketpreise und -verfügbarkeit mit dem Element <RoomBundle> in einer <Result> für jede Kombination aus Paket und Reiseplan. Weitere Informationen finden Sie unter Preise und Verfügbarkeit definieren.

Der Basispreis, Steuern und andere Gebühren sind unter <Result> obligatorisch, wenn sie nicht mit Zimmerpaketen verwendet werden, und können entfernt werden, wenn sie mit Zimmerpaketen verwendet werden. Wenn Sie Zimmerpakete mit einem Live-Konto implementieren, gehen Sie so vor:

  1. Geben Sie den Preis des Basiszimmers, die Steuern und andere Gebühren unter <Result> an und fügen Sie ein Zimmerpaket hinzu, das mit dem Basis-Zimmerpaket übereinstimmt.

  2. Definieren Sie bei Bedarf zusätzliche Zimmerpakete innerhalb desselben <Result>-Blocks für andere Zimmertypen in diesem Hotel oder andere Servicepakete.

  3. Entfernen Sie nach der Einführung des Zimmerpakets den Preis für das Basiszimmer, Steuern und andere Gebühren.

Zimmerpaket-Metadaten

Wenn Sie Zimmerpakete und Preismerkmale definieren, legen Sie normalerweise die Beschreibung, zusätzliche Dienste, die Teil des Preises sind, und andere Informationen zum Zimmerpaket im Voraus fest. Diese Informationen werden als Zimmerpaket-Metadaten bezeichnet. Diese Metadaten werden dann in den Preisaktualisierungen berücksichtigt, sollten aber nicht in den Benachrichtigungen zur Preisaktualisierung enthalten sein.

Verwenden Sie beim Definieren von Zimmerpaketen vorhandene <RoomData>-Elemente für die physischen Zimmerbeschreibungen und <PackageData>-Elemente für die Preismerkmale und Nutzungsbedingungen, die nicht Teil der physischen Zimmerbeschreibung sind.

Mit den Elementen <RoomData> und <PackageData> können Sie die Größe Ihrer Hotelliste und des Hotelpreisfeeds erheblich verringern, da in Transaktionsnachrichten weniger sich wiederholende Daten gesendet werden.

Daten wie ein Zimmername und eine Beschreibung werden in der Regel für jeden Reiseplan wiederholt. Mit den Elementen <RoomData> und <PackageData> können Sie diesen Datentyp einmal definieren. Die reiseplanspezifischen Zimmerpaketdaten werden dann mit den gespeicherten Zimmer- und Paketdefinitionen zusammengeführt, um dem Endnutzer angezeigt zu werden.

Google gleicht Ihre Metadaten mit Ihren reiseplanspezifischen Daten ab, um den Inhalt Ihrer Anzeigen zu rendern. Es gibt eine spezielle Verarbeitung, um die Namen und Beschreibungen der Elemente <RoomData> und <PackageData> zu kombinieren, sodass das physische Zimmer in <RoomData> beschrieben und Preismerkmale sowie Paketdetails in <PackageData> angegeben werden können.

Wenn Sie sowohl die Zimmerdaten als auch die Paketdaten für ein einzelnes Zimmer oder ein Zimmerpaket definieren, nimmt Google beide in die Anzeigenausgabe auf, getrennt durch einen Bindestrich.

Fotorichtlinien

Beachten Sie beim Senden von Raumfotos folgende Richtlinien, damit Ihre Fotos Nutzern angezeigt werden:

  • Für jeden Zimmertyp werden Fotos gesendet, einschließlich Fotos barrierefreier Räume. Dazu gehören z. B. ausgewiesene Räume mit barrierefreier Einrichtung und ebenerdiger Dusche.

  • Mindestens vier Fotos des Zimmers und mindestens ein Foto des Badezimmers.

  • Fotos sollten vom Zimmer selbst und nicht vom Gebäude stammen. Die wichtigsten Fotos sind das Bett, das gesamte Zimmer, das Bad, der Wohnbereich und die Blicke vom Raum (mit dem Rest des Zimmers auf demselben Foto) bzw. vom Balkon oder der Terrasse.

    Besonders hilfreich sind dabei Fotos vom Schreibtisch, der Küche, Möglichkeiten zur Kaffee- und Teezubereitung und besonderen Ausstattungsmerkmalen.

  • Vermeiden Sie Fotos von Personen und Objekten (z. B. Außen- oder Immobilien), Sehenswürdigkeiten/Touristen und Essen.

  • Vermeiden Sie Nahaufnahmen von Objekten wie Nahaufnahmen von Stielgläsern.

  • Branding und Marken dürfen nicht verwendet werden. Allerdings können Marken- oder Markenpflegeprodukte in Fotos aufgenommen werden, die den gesamten Badezimmerbereich erfassen. Fotos sollten keine großen Textblöcke, Logos oder Wasserzeichen enthalten.

  • Horizontale Standardfotos mit einem breiten Sichtfeld bereitstellen; Fischaugenbilder und verzerrte Fotos vermeiden. Nimm Fotos in der höchsten Auflösung auf, um das Ranking zu verbessern. Sie müssen dasselbe Foto nicht in verschiedenen Auflösungen einreichen.

Datenvorrang

Daten zu Zimmerpaketen werden aus allen Quellen erfasst und anhand von Prioritätsregeln kombiniert, um die endgültigen Daten für ein bestimmtes Hotel, einen Reiseplan und ein Zimmerpaket zu generieren. Die Reihenfolge ist von der niedrigsten zur höchsten Priorität:

  1. (Niedrigste) Partnerdaten
  2. Property-Daten
  3. <RoomData>, wobei <RoomID> mit der <RoomID> im <RoomBundle>-Block übereinstimmt
  4. <PackageData>, wobei <PackageID> mit der <PackageID> im <RoomBundle>-Block übereinstimmt
  5. (Höchster Wert) <RoomBundle>

Preis und Verfügbarkeit festlegen

Verwenden Sie zum Definieren der Zimmerpaketpreise und -verfügbarkeit ein <RoomBundle>-Element in einer Transaktionsnachricht für jede Paket- oder Reiseplankombination. Das Element <RoomBundle> muss sich im Element <Result> befinden. Beispielcode für zwei <RoomBundle>-Elemente ist unten zu sehen. Beachten Sie, dass in diesem Beispiel die beiden <RoomBundle>-Elemente mit <RoomID> und <PackageID> auf Zimmer- und Paketmetadaten verweisen.

Der enthaltene Satz von Zimmerpaketen für jedes <Result> überschreibt den vorhandenen Satz für diese Kombination aus Unterkunft und Reiseplan. Wenn Sie im <Result>-Element keine Zimmerpakete oder Preismerkmale definieren, werden alle Zimmerpakete entfernt und nur das Basiszimmer für dieses Hotel oder diesen Reiseplan wird in den Suchergebnissen angezeigt.

Verwenden Sie Elemente wie <Name>, damit Ihre Zimmerpakete für potenzielle Kunden attraktiver sind und mit der Landingpage des Hotels übereinstimmen. In diesem Beispiel würden Sie in den Metadaten Namen und andere beschreibende Informationen definieren.

<RatePlanID> ist optional und stellt die eindeutige Kennung für eine Zimmer- und Paketkombination dar. Wir empfehlen Ihnen dringend, RatePlanID als Variable zu verwenden, um Ihre dynamische Landingpage-URL (früher Point of Sale-URL) zu erstellen. Weitere Informationen finden Sie unter Variablen und Bedingungen verwenden.

Die folgenden Elemente sind in Zimmerpaketen optional:

<Baserate>
<Tax>
<OtherFees>
<RoomID>
<PackageID>
<Occupancy>
<OccupancyDetails>

Wenn Sie ein Zimmerpaket in einem Live-Konto implementieren, entfernen Sie <Baserate>, nachdem das Zimmerpaket aktiviert wurde.

<Result>
  <!-- Note: When using Room Bundles, the top level result price is no
       longer necessary. -->
  <Property>180054</Property>
  <Checkin>2017-10-07</Checkin>
  <Nights>2</Nights>
  <!-- Base Room Bundle -->
  <RoomBundle>
    <RoomID>060773</RoomID>
    <PackageID>P54321</PackageID>
    <Baserate currency="USD">199.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <!-- RatePlanID is optional and represents the unique identifier for a
    room and package data combination. We strongly recommend using RatePlanID
    as a variable to build your dynamic landing page (formerly Point of Sale)
    URL. For details, see Using Variables and Conditions. -->
    <RatePlanID>060773-P54321</RatePlanID>
  </RoomBundle>
  <!-- Premium Room Bundle -->
  <RoomBundle>
    <RoomID>436233</RoomID>
    <PackageID>P12345</PackageID>
    <!-- Price for 4 ("occupancy") -->
    <Baserate currency="USD">298.88</Baserate>
    <Tax currency="USD">42.12</Tax>
    <OtherFees currency="USD">10.00</OtherFees>
    <RatePlanID>436233-P12345</RatePlanID>
  </RoomBundle>
</Result>

Zimmer- und Paketmetadaten definieren

Verwenden Sie zum Definieren von Zimmerpaket-Metadaten die Elemente <PackageData> und <RoomData> im <PropertyDataSet>-Element einer Transaktionsnachricht.

Sie definieren Zimmer- und Paketmetadaten in einer Transaktionsnachricht, die von den Preis- und Verfügbarkeitsdaten getrennt ist. Wenn Sie diese Daten vorab definieren, müssen Sie in Ihren Preisaktualisierungen keine sich wiederholenden Informationen wie Beschreibungen, Foto-URLs, Ausstattungsmerkmale und andere Daten zu jedem Zimmer oder Paket für jeden einzelnen Reiseplan hinzufügen.

Google speichert die Metadaten und fügt sie in Ihre Anzeigen ein, wenn sie angezeigt werden. Sie können Zimmer- und Paketmetadaten jederzeit mit einer neuen Transaktionsnachricht aktualisieren.

In der Transaktionsnachricht legen Sie für jeden Block, auf den Sie in den <Result>-Blöcken für Preisaktualisierungen verweisen, eine Paket-ID und eine Zimmer-ID an.

Wenn sich die Zimmer- und Paketdaten ändern, z. B. wenn Sie einen neuen Zimmertyp in einer Unterkunft hinzufügen, senden Sie eine neue Transaktionsnachricht mit den aktualisierten Zimmer- und Paketdaten. Google ersetzt die vorhandenen Metadaten zu einem Zimmer oder Paket durch die neuen Daten.

Google empfiehlt, Metadaten bei der Ersteinrichtung zu definieren. Nachdem Sie die Metadaten vordefiniert haben, müssen Sie in Ihren Preisaktualisierungen nur auf die Werte <RoomID> und <PackageID> verweisen, anstatt alle diese Informationen wieder aufzunehmen. Google verwendet diese IDs, um Zimmer und Zimmerpakete mit den gespeicherten Metadaten abzugleichen. Dies kann die Gesamtgröße Ihrer Transaktionsnachrichten erheblich reduzieren.

Weil sich die Preise für Zimmer- oder Reiseplankombinationen viel häufiger ändern als die Zimmer- oder Paketbeschreibungen, sodass Transaktionsnachrichten nur einmal definiert und dann darauf verwiesen werden. Dies ist eine viel effizientere Nutzung von Transaktionsnachrichten. Darüber hinaus können Fehler wie Diskrepanzen bei Raumbeschreibungen mithilfe von Metadaten beseitigt werden, anstatt Daten inline zu definieren.

Die empfohlene und effizienteste Methode zum separaten Definieren von Metadaten und Preisen ist unten zu sehen:

<!-- Efficient method of defining Room Bundles -->
<!----- Occupancy of 2 and 4 example ------>

<Transaction timestamp="2019-04-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note: Once defined it does not have to be repeated for future Transaction Messages. -->
  <!--       PropertyDataSets can also be defined and sent in their own Transaction Message -->
  <!--       separately from pricing. Google can be configured to pull just PropertyDataSets -->
  <!--       once per day (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4, but bundle is for 2 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageQueen.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate 4 and bundle is for 4 -->
      <Capacity>4</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/imageKing.jpg</URL>
        <Caption>
          <Text text="A bright and breezy way to enjoy your mornin'
            cuppa tea." language="en"/>
          <Text text="Une façon lumineuse et aérée pour profiter
            de votre journée tasse de thé." language="fr"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <BreakfastIncluded/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>

    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy") -->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>060773-P12345</RatePlanID>
    </RoomBundle>
    <!-- Continue providing all available RoomBundle rates under matched
         property for any other occupancies -->
  </Result>
</Transaction>

Belegung und Kapazität

Beim Definieren von Zimmerpaketen müssen Sie den Unterschied zwischen Belegung und Kapazität kennen:

Anwesenheit
Die Anzahl der Gäste, für die ein Zimmerpaket gelten soll. Das „Flitterwochenpaket“ hat beispielsweise eine Belegung von zwei. Den Belegungswert für ein Paket legen Sie mit dem untergeordneten Element <Occupancy> der Elemente <PackageData> oder <RoomBundle> fest.
Kapazität
Die maximale Anzahl von Personen, die ein Zimmer physisch belegen können. Die Kapazität eines Zimmers ist immer gleich oder höher als die Belegung. Die „Flitterwochen-Suite“ in Ihrem Hotel hat beispielsweise eine maximale Kapazität von sechs Personen, aber Sie bezahlen ein Bundle für zwei Gäste. Den Wert der Kapazität eines Pakets legen Sie mit dem untergeordneten Element <Capacity> des <RoomData>-Elements fest.

Wenn Sie Preise für ein Zimmerpaket festlegen, müssen Sie den Preis für die Anzahl der Gäste angeben, für die das Paket vorgesehen ist (der Wert, der im <Occupancy>-Element des Pakets angegeben ist). Wenn <Occupancy> auf 2 gesetzt ist, muss der Preis in diesem Paket für zwei Personen gelten. Sie können <Occupancy> nicht auf vier Gäste festlegen und den Preis des Bundles für zwei Gäste festlegen.

Gemeinsam genutzte Räume

Über die Optionen „Belegung und Kapazität“ in Zimmerpaketen legen Sie außerdem Preise für Zimmer mit Gemeinschaftsraum fest, z. B. Hostel. Wenn Sie beispielsweise den Preis pro Person für ein Mehrbettzimmer mit 8 Betten festlegen möchten, setzen Sie die Belegung auf 1 und die Kapazität auf 8 und geben dies im Namen <RoomData> an. Beispiel ansehen

Zimmerpakete aktualisieren

In diesem Abschnitt wird beschrieben, wie Sie ein nicht mehr verfügbares Zimmerpaket entfernen und den Preis eines vorhandenen Zimmerpakets aktualisieren.

Zimmerpaket entfernen

Zimmerpakete unterscheiden sich von Hotelpreisen in der Art und Weise, wie Sie sie entfernen.

Wenn Sie eine Zimmer- oder Reiseplan-Kombination aus dem Inventar entfernen möchten, setzen Sie den Wert des <Baserate> für das <Result>-Element auf -1. Wenn Sie ein Zimmerpaket für einen bestimmten Raum oder einen bestimmten Reiseplan entfernen möchten, entfernen Sie in der Transaktionsnachricht das Element <RoomBundle> aus dem Block <Result>.

Zimmerpakete in Ihren Datenfeeds werden als Sätze betrachtet, die zwischen 0 und zehn reichen. Wenn Sie Zimmerpakete an Google senden, senden Sie den aktuellen, vollständigen Satz. Sie ändern die Werte eines einzelnen Zimmerpakets nicht, um ein zuvor verfügbares Zimmer als nicht verfügbar zu markieren. Der aktuelle Satz wird durch den Satz von Sets in der aktuellen Transaktionsnachricht ersetzt.

Es gibt beispielsweise die Sets A, B, C und D. Sie senden zuerst eine Nachricht, in der die Gruppe der Zimmerpakete A, B, C und D definiert ist. Wenn das Set B später ausverkauft ist, senden Sie das gesamte Set noch einmal mit den Sets A, C und D. Wenn alle Zimmerpakete ausverkauft sind, senden Sie einen leeren Satz von Zimmerpaketen.

Preisanpassungen

Wenn Sie den Preis eines Zimmerpakets ändern möchten, legen Sie im Element <Result> das neue <Baserate> fest.

Jedes Mal, wenn Sie den <Result>-Block eines Zimmers/Reiseplans in Ihren Transaktionsnachrichten aktualisieren, müssen Sie einen vollständigen Satz verfügbarer Zimmerpakete für jedes <Result> hinzufügen. Google ersetzt die vorhandenen Zimmerpakete durch den neuen Satz. Wenn Sie in <Result> keine Zimmerpakete angeben, entfernt Google alle Zimmerpakete für dieses Zimmer oder diesen Reiseplan.

Aktualisierung der Metadaten

Sie aktualisieren Raumpaket-Metadaten mit einer Antwort auf eine <Query> von Google.

Sie antworten auf eine Abfragenachricht mit einer Transaktionsnachricht, die die Zimmer- und Paketmetadaten für die angegebenen Hotels definiert. Weitere Informationen finden Sie unter Nachrichtennachrichten.