Nutzerabhängige Preise

Nutzerabhängige Preise sind eine Art von Preisregeln, mit der Sie unterschiedliche Preise für Ihre Reisepläne anbieten können und zwar je nach Gerät und Land des Endbenutzers oder je nachdem, ob der Endnutzer in seinem Google-Konto angemeldet ist.

Übersicht

Nutzerabhängige Preise werden in den Standard-Slots dargestellt und sind nur für Nutzer sichtbar, deren Suchanfragen die Kriterien für den zugehörigen nutzerabhängigen Preis erfüllen. Diese Kriterien können auf Folgendem basieren:

Ändern Sie Folgendes, um nutzerabhängige Preise zu aktivieren:

  • XML-Datei für Preisregeln: Definieren Sie die Bedingungen, unter denen die nutzerabhängigen Preise angewendet werden.
  • Preisfeed: Verwenden Sie das Element <Rate> in einer Transaktionsnachricht, um die Preise festzulegen.
  • Landingpage-Datei: Fügen Sie Ihren Deeplinks preisregelspezifische Werte hinzu.

Gerätespezifische nutzerabhängige Preise

Gerätespezifische Preise sind Hotelpreise, die nur für Nutzer auf einem bestimmten Gerät (Mobilgerät, Tablet oder Computer) sichtbar und buchbar sind. Die Preise werden von unseren Partnern angegeben. Endnutzer können dieselben gerätespezifischen Preise auf der Website des Partners sehen und buchen. Beachten Sie, dass Tablet-Nutzer für Desktop-Preise berechtigt sind.

Länderspezifische nutzerabhängige Preise

Länderspezifische Preise sind Hotelpreise, die nur für Nutzer sichtbar und buchbar sind, die nach Hotels aus einem bestimmten Land suchen. Google ermittelt das Land anhand der IP-Adresse des Endnutzers. Die Preise werden von Google-Partnern bereitgestellt und Nutzer können die gleichen länderspezifischen Preise auf der eigenen länderspezifischen Website des Partners anzeigen und buchen.

Sprachspezifische nutzerabhängige Preise

Sprachspezifische Preise sind nur für Nutzer sichtbar, die über eine bestimmte Spracheinstellung bei Google nach Hotels suchen. Sprachspezifische Bedingungen werden mit dem Element <LanguageCode> definiert.

Komprimierte nutzerabhängige Preise

Komprimierte nutzerabhängige Preise sind nur für eine zufällige Teilmenge aller berechtigten Nutzer sichtbar. Die Abtastrate wird mit dem Element <MaxUsersPercent> definiert und stellt den Wert der Division (Anzahl der Nutzer, die für die Anzeige des Preises ausgewählt wurden)/(Gesamtzahl der berechtigten Nutzer) dar.

Nutzerabhängige Preise für angemeldete Nutzer

Die Preise für angemeldete Nutzer sind nur für Nutzer sichtbar, die in einem Google-Konto angemeldet sind. Die Preise werden von Google-Partnern bereitgestellt und Nutzer können die Preise auf der eigenen Website des Partners anzeigen und buchen. Preise für angemeldete Nutzer werden mit dem Element <UserSignedIn> definiert.

Preisregel-XML-Datei erstellen

Preisregeln für nutzerabhängige Preise definieren Sie in einer Preisregel-XML-Datei. Weitere Informationen finden Sie in der XML-Referenz für Preisregeln.

Preisfeed aktualisieren

Nutzerabhängige Preise werden ähnlich wie andere Preise festgelegt: mithilfe des Elements in einer Transaktionsnachricht.

Das <Rate>-Element kann als wiederkehrendes Element von <Rates> in den <RoomBundle>- oder <Result>-Elementen verwendet werden. Damit es sich um einen nutzerabhängigen Preis handelt, müssen Sie den Wert des Attributs rate_rule_id entsprechend der Preisregel-ID festlegen, die Sie in der XML-Datei für die Preisregeln definiert haben.

Wenn Sie keinen standardmäßigen öffentlichen Doppelzimmerpreis haben, legen Sie das untergeordnete Element <Baserate> der Nachricht <Result> auf „-1“ fest. Alle nutzerabhängigen <Rates>, die in diesem Fall an uns gesendet werden, gelten als gültig.

Das folgende Beispiel zeigt eine Transaktionsnachricht mit einem Grundpreis und einem nutzerabhängigen Preis:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

Preis in einem <RoomBundle>

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>

    <Baserate currency="USD">300.00</Baserate>
    <Tax currency="USD">30.00</Tax>
    <OtherFees currency="USD">2.00</OtherFees>

    <RoomBundle>
      <RoomID>single</RoomID>
      <Baserate currency="USD">300.00</Baserate>
      <Tax currency="USD">30.00</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
    </RoomBundle>

    <RoomBundle>
      <RoomID>3</RoomID>  <!-- Links to data in metadata -->
      <RatePlanID>basic</RatePlanID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <ChargeCurrency>web</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">269.00</Baserate>
          <Tax currency="USD">2.69</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
        </Rates>
      </Rates>

    </RoomBundle>
  </Result>
</Transaction>

Mehrere Preise in einem <RoomBundle>

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>

    <!-- Any attribute listed below will not be inherited between bundles
         or baserates. -->
    <!-- The baserate attribute is optional. -->
    <!-- If a baserate is provided, the pricing must match a specific roombundle
    price provided below. -->
    <Baserate currency="USD">300.00</Baserate>
    <Tax currency="USD">30.00</Tax>
    <OtherFees currency="USD">2.00</OtherFees>

    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</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>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>

      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

Nutzerabhängiger Preis ohne Doppelzimmerpreis

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">

  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">-1</Baserate>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates. -->
      <Rate rate_rule_id="mobile">
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <OtherFees currency="USD">1.00</OtherFees>
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

Landingpage-Datei aktualisieren

Damit berechtigte Endnutzer den rabattierten Preis über einen Deeplink buchen können, müssen Sie möglicherweise Ihre Landingpage-Datei ändern. Auf der Buchungswebsite ist möglicherweise eine zusätzliche Implementierung erforderlich, um die rabattierten Preise korrekt auszuführen, damit den Nutzern auf Ihrer Website der rabattierte Preis angezeigt wird.

Wir erwarten, dass Sie den unter dem Deeplink für den nutzerabhängigen Preis angezeigten Preis einhalten.

In einen dynamischen Deeplink können Sie die Preisregel durch den Namen (das Attribut id des Elements <RateRule>) in die Variable RATE-RULE-ID einbeziehen.

Im folgenden Beispiel wird die Preisregel-ID hinzugefügt:

https://bookingsite.com/landing.do?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)&prid=(RATE-RULE-ID)

Die Landingpage-Datei unterstützt auch die IF-RATE-RULE-ID-Anweisung, mit der Sie Teile der URL abhängig davon, ob die Preisregel vorhanden ist, nutzerabhängig definieren können. Das folgende Beispiel veranschaulicht dies:

https://bookingsite.com/(IF-RATE-RULE-ID)privatelanding.do(RATE-RULE-ID)(ELSE)landing.do(ENDIF)?id=(PARTNER-HOTEL-ID)&arrival=(CHECKINDAY)-(CHECKINMONTH)-(CHECKINYEAR)&departure=(CHECKOUTDAY)-(CHECKOUTMONTH)-(CHECKOUTYEAR)&lang=(USER-LANGUAGE)&currency=(USER-CURRENCY)

In diesem Beispiel wird zwischen zwei Landingpages ausgewählt, abhängig davon, ob die Preisregel-ID festgelegt ist.

Weitere Informationen finden Sie unter Variablen und Bedingungen verwenden.