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.
|
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 Nachrichten werden in der Reihenfolge RFC 3339 erfordert vollständig angegebene Datum/Uhrzeit-Paare als
Sekundenbruchteile sind optional und können bis zu
bis auf die Nanosekunde genau. Beispiel:
|
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.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.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 Der Wert bei Index 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
|
taxes[] | 30 | float | Die Steuerkomponente der Preise für die Aufenthaltsdauer.
Der Wert bei Index |
fees[] | 30 | float | Die Gebührenkomponente der Preise für die Aufenthaltsdauer.
Der Wert bei Index |
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}
|