Zimmerpakete

Mithilfe von Zimmerpaketen können Sie mehrere Zimmertypen für ein Hotel definieren oder einen Reiseplan für ein Zimmer mit Preismerkmalen – zusätzliche Services, die in einem Preis und Konditionen enthalten sind –kombinieren, die über das hinausgehen, was der Standardpreis beinhaltet.

Schlüsselkonzepte und Workflow

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

Beispiele

Die folgenden Bilder zeigen Beispiele für Zimmerpakete auf Computern und Mobilgeräten:

Zimmerpakete mit Bildern

Dieses Beispiel ist die mobile Version von Zimmerpaketen, die alle verschiedenen Zimmertypen für die erforderliche Anzahl von Gästen und die entsprechenden Zimmerbilder enthält.

Hinweis:Zimmerpakete ohne Bilder werden durch ein Platzhalterbild für ein Bett ersetzt.

Angebotsfunktionen

Die folgenden Bilder zeigen Beispiele für Preismerkmale:

Die Anzeige von Zimmerpaketen und Preismerkmalen in Suchergebnissen unterliegt demselben Auswahlverfahren, das bei Standard-Zimmerpreisen angewendet wird.

Zimmerpakete

Zimmerpakete und Preismerkmale werden in Transaktionsnachrichten definiert. Das Stammelement einer Transaktionsnachricht ist <Transaction>.

Die Struktur der Transaktionsnachricht hängt davon ab, ob Sie die Metadaten für das Zimmerpaket oder Preismerkmal definieren oder die Preise bzw. die Verfügbarkeit des Zimmerpakets aktualisieren.

Metadaten
Definieren Sie Zimmerpaket- und Preismerkmalmetadaten mit <PackageData> in einem <PropertyDataSet>-Element. Weitere Informationen finden Sie unter Zimmer- und Paketmetadaten definieren. Bei Zimmerpaketen werden vorhandene <RoomData>-Elemente für Beschreibungen des physischen Zimmers verwendet.
Preise und Verfügbarkeit
Definieren Sie Zimmerpaketpreise und -verfügbarkeit mit dem <RoomBundle>-Element in einem <Result> für jede Kombination aus Paket und Reiseplan. Weitere Informationen finden Sie unter Preise und Verfügbarkeit festlegen.

Der Preis, die Steuern und die sonstigen Gebühren des Basiszimmers sind unter <Result> obligatorisch, wenn sie nicht mit Zimmerpaketen verwendet werden. Wenn sie mit Zimmerpaketen verwendet werden, können sie entfernt werden. Wenn Sie Room Bundles mit einem Live-Konto implementieren, gehen Sie so vor:

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

  2. Bei Bedarf können Sie innerhalb desselben Blocks <Result> weitere Zimmerpakete für andere Zimmertypen in diesem Hotel oder andere Servicepakete definieren.

  3. Entfernen Sie nach der Einführung des Zimmerpakets den Preis, die Steuern und die anderen Gebühren des Basiszimmers.

Zimmerpaketmetadaten

Wenn Sie Zimmerpakete und Preismerkmale definieren, legen Sie in der Regel die Beschreibung, zusätzliche Services, die Teil des Preises sind, und andere Informationen zum Zimmerpaket im Voraus fest. Diese Informationen werden als Zimmerpaketmetadaten bezeichnet. Auf diese Metadaten verweisen Sie später in Ihren Preisaktualisierungen, beziehen sie aber nicht in die Preisaktualisierungsnachrichten ein.

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

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

Daten wie der Zimmername und die Beschreibung wiederholen sich beispielsweise in der Regel für jeden Reiseplan. Mit den Elementen <RoomData> und <PackageData> definieren Sie diese Art von Daten nur einmal. Die reiseplanspezifischen Zimmerpaketdaten werden anschließend mit den gespeicherten Zimmer- und Paketdefinitionen zusammengeführt, um sie dem Endnutzer anzuzeigen.

Google gleicht Ihre Metadaten mit Ihren reiseplanspezifischen Daten ab, um den Inhalt Ihrer Anzeigen zu rendern. Es gibt ein spezielles Verfahren, um Namen und Beschreibungen der Elemente <RoomData> und <PackageData> zu kombinieren. Auf diese Weise können das physische Zimmer in <RoomData> und die Preismerkmale in <PackageData> beschrieben werden.

Wenn Sie sowohl die Zimmerdaten als auch die Paketdaten für ein Zimmer oder Zimmerpaket definieren, bezieht Google beides in die Anzeigenausgabe ein (getrennt durch einen Gedankenstrich).

Fotorichtlinien

Wenn Sie Zimmerfotos senden, sollten Sie die folgenden Richtlinien beachten, damit Ihre Fotos Nutzern angezeigt werden:

  • Senden Sie Fotos für jede Zimmerart, einschließlich Fotos von barrierefreien Zimmern, z. B. von ausgewiesenen barrierefreien Zimmern mit verschiedenen Badezimmerausstattungen wie einer befahrbaren Dusche.

  • Fügen Sie mindestens vier Fotos des Zimmers und mindestens ein Foto des Badezimmers hinzu.

  • Die Fotos sollten das Zimmer selbst und nicht die Unterkunft zeigen. Die wichtigsten Fotos sind die des Betts, des gesamten Zimmers, des Badezimmers, des Wohnbereichs und der Aussicht vom Zimmer (mit dem Rest des Zimmers auf demselben Foto) sowie, falls zutreffend, des Balkons oder der Terrasse.

    Es ist auch hilfreich, Fotos vom Schreibtisch, der Küche, den Kaffee-/Teekochern und den besonderen Merkmalen des Zimmers zu machen.

  • Vermeiden Sie Fotos von Personen und Grundstücken, z. B. vom Außenbereich oder von Annehmlichkeiten des Grundstücks, von Sehenswürdigkeiten/Tourismus und von Speisen.

  • Vermeiden Sie Nahaufnahmen von Objekten wie Gläsern.

  • Vermeiden Sie Branding und Marken. Hygieneartikel mit Label oder Marke dürfen jedoch auf einem Foto zu sehen sein, auf dem der gesamte Badezimmerbereich zu sehen ist. Fotos sollten keine großen Textblöcke, Logos oder Wasserzeichen enthalten.

  • Verwenden Sie Standardfotos im Querformat mit einem großen Sichtfeld. Vermeiden Sie Fischaugen- und verzerrte Fotos. Nehmen Sie Fotos mit der höchstmöglichen Auflösung auf, um das Ranking zu verbessern. Sie müssen dasselbe Foto nicht in verschiedenen Auflösungen einreichen.

Datenpriorität

Zimmerpaketdaten werden von allen Quellen gesammelt und unter Anwendung von Prioritätsregeln kombiniert, um die endgültigen Daten für ein bestimmtes Hotel, einen Reiseplan und ein Zimmerpaket zu erstellen. Es wird die folgende Reihenfolge verwendet, von der niedrigsten zur höchsten Priorität:

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

Preise und Verfügbarkeit festlegen

Zum Definieren der Preise und Verfügbarkeit für Zimmerpakete verwenden Sie das Element <RoomBundle> in einer Transaktionsnachricht für jede Kombination aus Paket und Reiseplan. Das Element <RoomBundle> sollte sich innerhalb des Elements <Result> befinden. Beispielcode für zwei <RoomBundle>-Elemente Die beiden <RoomBundle>-Elemente verweisen auf Zimmer- und Paketmetadaten mit <RoomID> und <PackageID>.

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

Achten Sie darauf, Elemente wie <Name> zu verwenden, um Ihre Zimmerpakete für potenzielle Kunden attraktiver zu gestalten. Achten Sie dabei darauf, dass sie mit der Landingpage des Hotels übereinstimmen. In diesem Beispiel würden Sie Namen und andere beschreibende Informationen in den Metadaten 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, wenn Sie die dynamische URL der Landingpage (früher Point of Sale) erstellen. Für eine optimale Leistung sollte sie maximal 50 Zeichen lang sein. 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 Zimmerpakete in einem aktiven Konto implementieren, entfernen Sie <Baserate>, nachdem die Zimmerpakete aktiviert wurden.

<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

Zum Definieren von Zimmerpaketmetadaten verwenden Sie die Elemente <PackageData> und <RoomData> innerhalb des Elements <PropertyDataSet> einer Transaktionsnachricht.

Sie definieren Zimmer- und Paketmetadaten in einer Transaktionsnachricht, die von den Preis- und Verfügbarkeitsdaten getrennt ist. Indem Sie die Metadaten vorab definieren, müssen Sie in Ihren Preisaktualisierungen keine sich wiederholenden Informationen wie Beschreibungen, Foto-URLs, Ausstattungen und sonstige Daten zu den einzelnen Zimmern oder Paketen in den einzelnen Reiseplänen angeben.

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

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

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

Es wird empfohlen, bei der Ersteinrichtung Metadaten zu definieren. Wenn Sie die Metadaten vorab definiert haben, verweisen Sie in Ihren Preisaktualisierungen einfach auf die Werte für <RoomID> und <PackageID>, anstatt alle Informationen noch einmal anzugeben. Google weist anhand der IDs die gespeicherten Metadaten den Zimmern und Zimmerpaketen zu. Dadurch verringern Sie die Größe Ihrer Transaktionsnachrichten erheblich.

Weil sich die Preise für Zimmer- oder Reisekombinationen viel häufiger ändern als die Zimmer- oder Paketbeschreibungen, ist die Nutzung von Transaktionsnachrichten wesentlich effizienter, wenn Metadaten einmalig definiert werden und dann darauf verwiesen wird. Indem Sie anstelle von inline definierten Daten Metadaten verwenden, können Sie außerdem Fehler wie abweichende Zimmerbeschreibungen vermeiden.

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

<!-- 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 zwischen Belegung und Kapazität unterscheiden:

Anwesenheit
Die Anzahl der Gäste, für die ein Zimmerpaket gelten soll. Für das „Flitterwochenpaket“ gilt beispielsweise eine Belegung von 2 Personen. 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 in einem Zimmer untergebracht werden können. Die Kapazität eines Zimmers entspricht immer mindestens der Belegung oder ist höher. Die „Flitterwochen-Suite“ in Ihrem Hotel hat beispielsweise eine maximale Kapazität von 6 Personen, aber Sie legen einen Paketpreis für 2 Gäste fest. Den Kapazitätswert für ein Paket legen Sie mit dem untergeordneten Element <Capacity> des Elements <RoomData> fest.

Bei der Preisangabe für ein Zimmerpaket müssen Sie den Preis für die Anzahl der Gäste angeben, für die das Paket gedacht ist (die im Element <Occupancy> des Pakets angegebene Anzahl). Wenn <Occupancy> auf 2 gesetzt ist, dann muss der Preis in diesem Paket für 2 Personen sein. Sie können <Occupancy> nicht auf 4 Gäste setzen und den Paketpreis für 2 Gäste angeben.

Gemeinsam genutzte Zimmer

Sie können über die Belegung und Kapazität in Zimmerpaketen die Preise für Mehrbettzimmer (z. B. Jugendherberge) festlegen. Um beispielsweise einen Preis pro Person für ein Mehrbettzimmer mit 8 Betten festzulegen, setzen Sie Belegung auf 1 und Kapazität auf 8 und kennzeichnen dies entsprechend im <RoomData>-Namen. 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 werden anders als Hotelpreise entfernt.

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

Zimmerpakete in Ihren Datenfeeds werden als Sätze betrachtet, die zwischen 0 und Dutzende davon liegen. 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 kennzeichnen. Der aktuelle Satz wird durch den Paketsatz, der in der neuesten Transaktionsnachricht ist, ersetzt.

Es gibt z. B. die Pakete A, B, C und D. Zuerst senden Sie eine Nachricht, in der der Satz der Zimmerpakete A, B, C und D definiert ist. Wenn Paket B später ausverkauft ist, senden Sie den gesamten Satz mit den Paketen A, C und D noch einmal. Wenn alle Zimmerpakete ausverkauft sind, können Sie einen leeren Satz von Zimmerpaketen senden.

Preisanpassungen

Zum Ändern des Preises eines Zimmerpakets legen Sie im Element <Result> den neuen <Baserate> fest.

Bei jeder Aktualisierung des Blocks <Result> einer Zimmer-/Reiseplan-Kombination in Ihren Transaktionsnachrichten müssen Sie für jeden Block <Result> einen vollständigen Satz verfügbarer Zimmerpakete angeben. Google ersetzt den vorhandenen Satz von Zimmerpaketen durch den neuen Satz. Wenn Sie im Block <Result> keine Zimmerpakete angeben, entfernt Google alle Zimmerpakete für dieses Zimmer oder diesen Reiseplan.

Aktualisierungen der Metadaten

Sie aktualisieren die Zimmerpaketmetadaten mit einer Antwort auf eine <Query> von Google.

Sie reagieren auf eine Anfragenachricht mit einer Transaktionsnachricht, in der die Zimmer- und Paketmetadaten für die angegebenen Hotels enthalten sind. Weitere Informationen finden Sie unter Anfragenachrichten.