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.

Wichtige Konzepte 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 Personen und die zugehörigen Zimmerbilder enthält.

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

Features bewerten

Die folgenden Bilder zeigen Beispiele für Preismerkmale:

Die Anzeige von Zimmerpaketen und Preismerkmalen in den Suchergebnissen unterliegt demselben Auswahlprozess wie Standard-Zimmerpreise.

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 oder 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. Sie können entfernt werden, wenn sie mit Zimmerpaketen verwendet werden. Wenn Sie Room-Bundles mit einem Live-Konto implementieren, gehen Sie so vor:

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

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

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

Zimmerpaketmetadaten

Wenn Sie Zimmerpakete und Preismerkmale definieren, definieren Sie in der Regel im Voraus die Beschreibung, zusätzliche Leistungen, die Teil des Preises sind, und andere Informationen zum Zimmerpaket. Diese Informationen werden als Zimmerpaket-Metadaten 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 Bedingungen, 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 Fotos von Zimmern senden, sollten Sie die folgenden Richtlinien beachten, damit Ihre Fotos Nutzern angezeigt werden:

  • Senden Sie Fotos für jeden Zimmertyp, einschließlich Fotos von barrierefreien Zimmern, z. B. speziell für Personen mit eingeschränkter Mobilität vorgesehene Zimmer mit verschiedenen Badezimmereinrichtungen wie einer rollstuhlgerechten Dusche.

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

  • Fotos sollten das Zimmer selbst und nicht das Gebäude zeigen. Die wichtigsten Fotos sind vom Bett, vom ganzen Zimmer, vom Badezimmer, vom Wohnbereich und von der Aussicht aus dem Zimmer (wobei der Rest des Zimmers auf dem gleichen Foto zu sehen ist) und gegebenenfalls vom Balkon, der Terrasse oder der Terrasse.

    Es ist auch hilfreich, Fotos vom Schreibtisch, der Küche, dem Kaffee-/Teekocher und den Besonderheiten des Zimmers aufzunehmen.

  • Vermeiden Sie Fotos von Personen und Objekten, z. B. von der Außen- oder Gebäudeausstattung, von Sightseeing/Tourismus und Essen.

  • Vermeiden Sie Nahaufnahmen von Objekten wie z. B. von Glaswaren.

  • Vermeiden Sie Markenlogos. Beschriftete oder mit Marken versehene Hygieneartikel sind jedoch in einem Foto zulässig, das den gesamten Badezimmerbereich zeigt. Fotos dürfen keine großen Textblöcke, Logos oder Wasserzeichen enthalten.

  • Verwenden Sie Standardfotos im Querformat (horizontal) mit einem großen Sichtfeld. Vermeiden Sie Fischaugen- und verzerrte Fotos. Fotografieren Sie mit der höchsten Auflösung, um ein besseres Ranking zu erzielen. Sie müssen dasselbe Foto nicht in verschiedenen Auflösungen einreichen.

Datenpriorität

Zimmerpaketdaten werden aus 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. Unterkunftsdaten
  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 oder Reiseplan. Das Element <RoomBundle> sollte sich innerhalb des Elements <Result> befinden. Im Folgenden sehen Sie Beispielcode für zwei <RoomBundle>-Elemente. In diesem Beispiel verweisen die beiden <RoomBundle>-Elemente mit <RoomID> und <PackageID> auf Zimmer- und Paketmetadaten.

Der enthaltene Satz mit Zimmerpaketen überschreibt für jedes Element <Result> den vorhandenen Satz für diese Kombination aus Hotel oder 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 dieses Hotel oder diesen 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 Kombination aus Zimmer und Paket dar. Wir empfehlen dringend, RatePlanID als Variable zu verwenden, um Ihre dynamische Landingpage-URL (früher Point of Sale) 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

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. Wenn Sie diese Daten im Voraus definieren, müssen Ihre Preisaktualisierungen keine sich wiederholenden Informationen wie Beschreibungen, Foto-URLs, Ausstattung und andere Daten zu jedem einzelnen Zimmer oder Paket für jeden Reiseplan enthalten.

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 dann 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 dann die vorhandenen Metadaten zu einem Zimmer oder Paket durch die neuen Daten.

Wir empfehlen, 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 ordnet anhand dieser IDs Zimmer und Zimmerpakete den gespeicherten Metadaten zu. Dadurch verringern Sie die Größe Ihrer Transaktionsnachrichten erheblich.

Da sich die Preise für Zimmer- oder Reiseplankombinationen viel häufiger ändern als die Zimmer- oder Paketbeschreibungen, ist es wesentlich effizienter, Metadaten einmalig zu definieren und dann darauf zu verweisen. 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 ein Zimmer physisch belegen 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 sechs Personen, Sie legen jedoch den Preis für ein Paket für zwei Gäste fest. Den Kapazitätswert eines Pakets 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, muss der Preis in diesem Paket für zwei Personen sein. Sie können <Occupancy> nicht auf 4 Gäste setzen und den Paketpreis für 2 Gäste angeben.

Mehrbettzimmer

Sie können über die Belegung und Kapazität in Zimmerpaketen die Preise für Mehrbettzimmer (z. B. Jugendherberge) festlegen. Wenn Sie beispielsweise einen Preis pro Person für ein Mehrbettzimmer mit 8 Betten festlegen möchten, 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 können.

Entfernung von Zimmerpaketen

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

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

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 ersetzt, der in der neuesten Transaktionsnachricht ist.

Zum Beispiel gibt es die Sets A, B, C und D. Zuerst senden Sie eine Nachricht, in der die Zimmerpakete A, B, C und D definiert sind. Wenn das Bundle B später ausverkauft ist, senden Sie den gesamten Satz nur mit den Bundles A, C und D noch einmal. Wenn alle Zimmerpakete ausverkauft sind, können Sie einen leeren Satz von Zimmerpaketen senden.

Preisanpassungen

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

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

Metadatenaktualisierungen

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.