Preise für die Aufenthaltsdauer

Travel Partner Prices API

Die Travel Partner Prices API bietet eine RESTful-Oberfläche zum Senden von Immobilienpreise an Google senden.

Dienst: Travelpartnerprices.googleapis.com

Zum Aufrufen dieses Dienstes empfehlen wir, dass Sie den von Google bereitgestellten Client Bibliotheken. Wenn Ihr Anwendung Ihre eigenen Bibliotheken verwenden muss, um diesen Dienst aufzurufen, wenden Sie sich an Ihren Technical Account Manager (TAM) zum Abrufen des Discovery-Dokuments für diesen Dienst.

Dienstendpunkt

Ein Dienst Endpunkt ist ein Basis-URL, die die Netzwerkadresse eines API-Dienstes angibt. Ein Dienst mehrere Dienstendpunkte haben. Dieser Dienst hat folgenden Dienst Endpunkt und alle aufgeführten URIs beziehen sich auf diesen Dienstendpunkt:

https://travelpartnerprices.googleapis.com
Methoden
ingestLosPropertyPrices POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices

Laden Sie die angegebenen Preise für die Aufenthaltsdauer für eine bestimmte Unterkunft hoch.

Erfordert eine JSON-codierte LoS-Preisnachricht (siehe unten) als HTTP- Nachrichtentext.

account_id: Dieser Stringwert ist der „Konto-ID“ Wert auf der Seite „Kontoeinstellungen“ im Hotel Mitte.

property_id: Der Wert dieses Elements muss muss ein String sein, der mit der Angebots-ID in Ihrem Hotellisten-Feed übereinstimmt.

API-Authentifizierung

Die Travel Partner Prices API verwendet OAuth 2.0, um Authentifizieren Ihrer Anwendung, damit Sie auf die APIs zugreifen können.

Eine detaillierte Anleitung zur Einrichtung finden Sie unter OAuth einrichten. 2.0. Das sind die Einrichtungselemente Anleitung für die Travel Partner API. Die Travel Partner API und der Travel Partner Prices API. In dieser Anleitung zur Einrichtung müssen Sie die Travel Partner Prices API Namen irgendwo angeben, „Travel Partner API“ bezeichnet.

Anfragen

Syntax

Die Nachricht LoS Prices verwendet die folgende Syntax:

{
  "requestTime": YYYY-MM-DDTHH:mm:ss.SSSZ,
  "propertyPrices": {
    "arrivalDatePrices": [{
      "startDate": {
        "year": int
        "month": int
        "day": int
      }
      "endDate": {
        "year": int
        "month": int
        "day": int
      }
      "productPrices": [{
        "roomTypeId": "string"
        "ratePlanId": "string"
        "occupancyPrices": [{
          "adults": int
          "prices": [{
            "rateRuleId": "string"
            "currencyCode": "string"
            "rates": [night_1,night_2,...]
            "taxes": [night_1,night_2,...]
            "fees": [night_1,night_2,...]
          }]
        }]
      }]
    }]
  }
}

Elemente und Attribute

Die Preisnachricht für die Aufenthaltsdauer enthält die folgenden Elemente und Attribute:

Element Häufigkeit Typ Beschreibung
requestTime 1 string

Der Zeitpunkt, zu dem die Nachricht zum LoS-Preis gesendet wurde, im Format RFC 3339 .

Jede Nachricht, die mit einem requestTime in den letzten 24 Tagen gesendet wurde Stunden verarbeitet und alle noch nicht verworfen.

Nachrichten werden in der Reihenfolge requestTime verarbeitet, unabhängig von deren Eingang. Beispiel: Preisaktualisierung mit einem requestTime von 2019-05-03T14:09:00Z, die nach einer Nachricht für dieselben Reisepläne mit einer requestTime von 2019-05-03T14:10:00Z werden zugunsten des mit Zeitstempel versehen.

RFC 3339 erfordert vollständig angegebene Datum/Uhrzeit-Paare als YYYY-MM-DDThh:mm:ss.SSZ Zeitzone ist erforderlich, angegeben als positive oder negative hh:mm-Abweichung gegenüber UTC oder Z als Abkürzung für UTC.

Sekundenbruchteile sind optional und können bis zu bis auf die Nanosekunde genau. Beispiel: 2017-01-15T01:30:15.01-08:00 codiert 15,01 Sekunden nach 15. Januar 2017 um 13:30 Uhr PST (UTC-8).

propertyPrices 1 Object Preise für eine Unterkunft. Alle Preise in diesem/dieser propertyPrices gelten für dieselbe Property.

Dieses Element wird nicht wiederholt. Um Preise für mehrere Unterkünfte zu senden, müssen Sie mehrere HTTP-Anfragen stellen (mindestens eine pro Property).

arrivalDayPrices[] 1..n Object Preise für ein Ankunftsdatum. Alle Preise in diesem/dieser arrivalDayPrices gelten für eine bestimmte Unterkunft, aber unterschiedliche Ankunftsdaten.
startDate 1 Object productPrices wird auf alle Ankunftsdaten angewendet zwischen startDate und endDate (einschließlich) liegt.

Wenn Sie nur ein Ankunftsdatum (und keinen Datumsbereich) angeben möchten, Geben Sie das Ankunftsdatum in startDate und endDate ein.

startDate.year 1 integer Jahr des startDate. Muss zwischen 1 und 9.999 liegen.
startDate.month 1 integer Monat eines Jahres. Möglich ist eine Angabe von 1 bis 12.
startDate.day 1 integer Tag im Monat. Muss zwischen 1 und 31 liegen und für das Jahr und den Monat gültig sein.
endDate 0..1 Object Die productPrices werden auf alle Ankunftsdaten zwischen dem startDate und endDate (einschließlich).

Wenn Sie nur ein Ankunftsdatum (und keinen Datumsbereich) angeben möchten, endDate kann weggelassen werden.

endDate.year 1 integer Jahr des endDate. Muss zwischen 1 und 9.999 liegen.
endDate.month 1 integer Monat eines Jahres. Möglich ist eine Angabe von 1 bis 12.
endDate.day 1 integer Tag im Monat. Muss zwischen 1 und 31 liegen und für das Jahr und den Monat gültig sein.
productPrices[] 1..n Object Die Preise für ein Produkt. Alle Preise in diesem/dieser productPrices gelten für eine bestimmte Unterkunft, eine Kombination aus Ankunftsdatum, zu verbessern.
roomTypeId 0..1 string Die eindeutige ID des Zimmers, auf das sich dieser Preis bezieht. Verwenden Sie um die Daten des Zimmerpakets mit den Daten zu verknüpfen, die Sie in Zimmerdaten gesendet haben. Weitere Informationen finden Sie unter Zimmerpaket-Metadaten.
ratePlanId 0..1 string Die eindeutige ID für die Paketdaten, auf die sich dieser Preis bezieht. Verwenden Sie um die Daten des Zimmerpakets mit den Daten zu verknüpfen, die Sie in den Paketdaten gesendet haben. Weitere Informationen finden Sie unter Zimmerpaket-Metadaten.
occupancyPrices[] 1..n Object Preise für Belegung. Alle Preise in diesem/dieser occupancyPrices auf bestimmte Unterkunft, Ankunfts- und Produktkombinationen, unterschiedlichen Belegungen.
adults 1 integer Die maximale Anzahl von Gästen, die pro Zimmer gebucht werden können, einschließlich für Erwachsene und Kinder. Dieser Wert wird für alle Preise innerhalb der entsprechendes occupancyPrices-Feld und muss positiv sein Ganzzahl zwischen 1 und 99 sein.

Hinweis: Wenden Sie sich an Ihr Supportteam, um Belegungen für von mehr als 4 Erwachsenen.

prices[] 1..n Object Preise für die Aufenthaltsdauer. Alle Preise innerhalb von prices gelten für bestimmte Kombination aus Unterkunft, Ankunftsdatum, Produkt und Belegung.
rateRuleId 0..1 string Bei nutzerabhängigen Preisen: Diese ID stimmt mit einer Definition in Ihrer Datei zum Festlegen der Preisregel überein. Die maximale Zeichenanzahl für dieses Feld beträgt 40 Zeichen.
currencyCode 1 string Der dreistellige Währungscode, der rates und taxes lautet. bereitgestellt werden. Beispiel: "USD" für Euro.
rates[] 30 float Die Basis-Rate-Komponente der Preise für die Aufenthaltsdauer.

Wenn ein entsprechender taxes-Wert angegeben ist, beträgt dieser Preis Steuern nicht enthalten. Der Gesamtpreis ist die Summe der relevanten Steuersatz und Steuern.

Der Wert bei Index n entspricht einem n+1-Wert Aufenthaltsdauer.

Sie müssen den vollständigen LoS-Satz von 30 Preisen auf einmal senden. Wenn Sie unter 30 liegen, werden alle angegebenen Preise für die Aufenthaltsdauer und die restlichen Preise sind bis zu 30 LOS nicht verfügbar. Wenn Sie mehr als 30 senden, werden alle Preise, die Sie über den 30. Preis hinaus senden, wurde verworfen .

Nicht verfügbare Aufenthaltsdauern sollten mit einem 0

taxes[] 30 float Die Steuerkomponente der Preise für die Aufenthaltsdauer.

Der Wert bei Index n entspricht einem n+1-Wert Aufenthaltsdauer.

fees[] 30 float Die Gebührenkomponente der Preise für die Aufenthaltsdauer.

Der Wert bei Index n entspricht einem n+1-Wert Aufenthaltsdauer.

Beispiel

Preise und Steuern basierend auf der Aufenthaltsdauer

Im folgenden Beispiel wird die Mindestaufenthaltsdauer von 2 festgelegt für ein Check-in-Datum festlegen und für ein anderes Check-in-Datum keine Verfügbarkeit festlegen. Wenn Sie startDate vom 01.09.2023 ohne endDate festlegen, bedeutet das, dass Sie die Preise für nur ein Datum angeben, und können den endDate.

Mit dem Array occupancyPrices, das auf 2 festgelegt ist, können Sie verschiedene Preise festlegen. für unterschiedliche Zwecke. Daher wird an den Limits am 04.09.2023 kein Raum mehr belegt. Verfügbar: rates.

Für das angezeigte Array taxes werden 10% des Preises berechnet.

Für das angegebene Array fees wird pro Aufenthalt eine Reinigungsgebühr in Höhe von 50 $erhoben.

Wenn das gesamte Anreisedatum nicht verfügbar ist, musst du Folgendes tun: das Datum explizit senden und dabei rates, taxes und productPrices an bedeutet, dass am gewünschten Datum keine Verfügbarkeit vorhanden ist.

{
  "requestTime": "2023-08-10T12:15:222",
  "propertyPrices": {
    "arrivalDatePrices": [
      {
        "startDate": {
          "year": 2023,
          "month": 9,
          "day": 1
        },
        "productPrices": [
          {
            "occupancyPrices": [
              {
                "adults": 2,
                "prices": [
                  {
                    "currencyCode": "USD",
                    "rates": [
                      0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "taxes": [
                      0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "fees": [
                      0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ]
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "startDate": {
          "year": 2023,
          "month": 9,
          "day": 3
        },
        "productPrices": [
          {
            "occupancyPrices": [
              {
                "adults": 2,
                "prices": [
                  {
                    "currencyCode": "USD",
                    "rates": [
                      0, 200, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "taxes": [
                      0, 20, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ],
                    "fees": [
                      0, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
                      0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
                    ]
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}

Antworttext

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
        {
          "name": "string"
        }
        
Felder
name Der Ressourcenname der PropertyPrices, die geändert wurde. Hat folgendes Format:
accounts/{account}/properties/{property}