API Travel Partner Prices
L'API Travel Partner Prices fornisce un'interfaccia RESTful per l'invio prezzi degli immobili a Google.
Servizio: Travelpartnerprices.googleapis.com
Per chiamare questo servizio, ti consigliamo di utilizzare il client fornito da Google librerie. Se le tue deve utilizzare le tue librerie per chiamare questo servizio, contatta Technical Account Manager (TAM) per ottenere il documento conoscitivo per questo servizio.
Endpoint di servizio
Un servizio endpoint è un URL di base che specifica l'indirizzo di rete di un servizio API. Un servizio potrebbe avere più endpoint di servizio. Questo servizio include il seguente servizio e tutti gli URI elencati sono relativi a questo endpoint di servizio:
https://travelpartnerprices.googleapis.com
Metodi | |
---|---|
ingestLosPropertyPrices |
POST /v1/accounts/account_id/properties/property_id:ingestLosPropertyPrices
Carica i prezzi forniti per la durata del soggiorno per una proprietà specificata. Richiede un messaggio sui prezzi LoS con codifica JSON (vedi di seguito) come HTTP corpo del messaggio.
|
Autenticazione API
L'API Travel Partner Prices utilizza OAuth 2.0 per di autenticare l'applicazione in modo da poter accedere alle API.
Per istruzioni dettagliate sulla configurazione, consulta Configurare OAuth 2,0. Queste sono le impostazioni istruzioni per l'API Travel Partner. Tieni presente che l'API Travel Partner e e l'API Travel Partner Prices sono diverse. In queste istruzioni di configurazione, devi sostituire l'"API Travel Partner Prices" nome ovunque "API Travel Partner" a cui si fa riferimento.
Richieste
Sintassi
Il messaggio LoS Prices
utilizza la seguente sintassi:
{
"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,...]
}]
}]
}]
}]
}
}
Elementi e Attributi
Il messaggio relativo ai prezzi per la durata del soggiorno contiene i seguenti elementi e attributi:
Elemento | Occorrenze | Tipo | Descrizione |
---|---|---|---|
requestTime | 1 | string | Il momento in cui è stato inviato il messaggio relativo al prezzo della LoS, espresso in formato RFC 3339 stringa. Qualsiasi messaggio inviato con I messaggi vengono elaborati nell'ordine di Il documento RFC 3339 richiede valori data/ora completamente specificati come
Le frazioni di secondo sono facoltativi e possono essere espresse fino a
precisione in nanosecondi. Ad esempio,
|
propertyPrices | 1 | Object | Prezzi per una proprietà. Tutti i prezzi entro questo periodo: propertyPrices
si applicano alla stessa proprietà.
Questo elemento non è ripetuto. Per inviare i prezzi di più strutture, devi effettuare più richieste HTTP (almeno una per proprietà). |
arrivalDayPrices[] | 1..n | Object | Prezzi per una data di arrivo. Tutti i prezzi entro questo periodo: arrivalDayPrices
si applicano a una struttura specifica, ma con date di arrivo diverse. |
startDate | 1 | Object | L'productPrices viene applicato a tutte le date di arrivo
tra startDate e endDate inclusi.
Se provi a specificare una sola data di arrivo (e non un intervallo),
inserisci la data di arrivo sia in |
startDate.year | 1 | integer | Anno del startDate . Il valore deve essere compreso tra 1 e 9999. |
startDate.month | 1 | integer | Mese dell'anno. Il valore deve essere compreso tra 1 e 12. |
startDate.day | 1 | integer | Giorno di un mese. Il valore deve essere compreso tra 1 e 31 ed essere valido per l'anno e il mese. |
endDate | 0..1 | Object | Il valore productPrices viene applicato a tutte le date di arrivo tra i
startDate e endDate , inclusi.
Se provi a specificare una sola data di arrivo (e non un intervallo),
|
endDate.year | 1 | integer | Anno del endDate . Il valore deve essere compreso tra 1 e 9999. |
endDate.month | 1 | integer | Mese dell'anno. Il valore deve essere compreso tra 1 e 12. |
endDate.day | 1 | integer | Giorno di un mese. Il valore deve essere compreso tra 1 e 31 ed essere valido per l'anno e il mese. |
productPrices[] | 1..n | Object | Prezzi di un prodotto. Tutti i prezzi entro questo periodo: productPrices
si applicano a una struttura specifica, a una combinazione di date di arrivo, ma diversa
prodotti di big data e machine learning.
|
roomTypeId | 0..1 | string | L'ID univoco della camera a cui fa riferimento questo prezzo. Utilizza le funzionalità di questo ID per abbinare i dati del pacchetto camera a quelli che hai inviato nei dati della camera. Per ulteriori informazioni, consulta Metadati dei pacchetti camera. |
ratePlanId | 0..1 | string | L'ID univoco dei dati del pacchetto a cui fa riferimento questo prezzo. Utilizza le funzionalità di questo ID per abbinare i dati del pacchetto camera a quelli che hai inviato nei dati del pacchetto. Per ulteriori informazioni, consulta Metadati dei pacchetti camera. |
occupancyPrices[] | 1..n | Object | Prezzi per un numero di persone. Tutti i prezzi entro questo periodo: occupancyPrices
si applicano a una specifica proprietà, a una data di arrivo o a una combinazione di prodotti, ma
per occupazioni diverse.
|
adults | 1 | integer | Il numero massimo di ospiti che è possibile prenotare per camera, inclusi
adulti e bambini. Questo valore è impostato per tutte le tariffe all'interno di
campo occupancyPrices corrispondente e deve essere un valore positivo
numero intero compreso tra 1 e 99.
Nota: contatta il team di assistenza per inviare il numero di persone per più di quattro adulti. |
prices[] | 1..n | Object | Prezzi per la durata del soggiorno. Tutti i prezzi in prices si applicano a
una specifica combinazione di proprietà, data di arrivo, prodotto e numero di persone.
|
rateRuleId | 0..1 | string | Per le tariffe agevolate: questo ID corrisponde a una tariffa nel file di definizione delle regole tariffarie. Il limite di caratteri per questo campo è 40. |
currencyCode | 1 | string | Il codice valuta di tre lettere che rates e taxes
sono forniti. Ad esempio, "USD" per i dollari statunitensi.
|
rates[] | 30 | float | Il componente della tariffa di base dei prezzi della durata del soggiorno.
Se viene fornito un valore Il valore all'indice Devi inviare l'intero set di 30 prezzi relativi alla LoS alla volta. Se invii meno di 30, tutti i prezzi della LoS forniti vengono elaborati come normale e le tariffe rimanenti non sono disponibili fino a LoS 30. Se ne invii più di 30,tutti i prezzi che invii oltre la trentesima tariffa vengono è calato . Le durate dei soggiorni non disponibili devono essere rappresentate da un
|
taxes[] | 30 | float | La componente fiscale dei prezzi della durata del soggiorno.
Il valore all'indice |
fees[] | 30 | float | La componente della tariffa dei prezzi della durata del soggiorno.
Il valore all'indice |
Esempio
Tariffe e tasse in base alla lunghezza del soggiorno
L'esempio seguente mostra l'impostazione della durata minima del soggiorno di 2
per una data di check-in e impostando nessuna disponibilità per un'altra data di check-in.
Se imposti startDate
dall'1/09/2023 senza endDate
, significa che
specifichi le tariffe per una sola data e puoi omettere i
endDate
.
L'array occupancyPrices
impostato su 2
ti consente di impostare tariffe diverse
in base al numero di persone. Pertanto, i limiti di nessun posto vacante al 09/04/23
disponibile: rates
.
L'array taxes
mostrato viene calcolato come il 10% del tasso.
Nell'array fees
mostrato viene applicata una tariffa per la pulizia di 50 $per soggiorno.
Se l'intera data di check-in non è disponibile ‐3/9/2023, devi
inviare esplicitamente la data e omettere rates
, taxes
e productPrices
a
indicano che non c'è disponibilità per la data richiesta.
{
"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
]
}
]
}
]
}
]
}
]
}
}
Corpo della risposta
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON | |
---|---|
{ "name": "string" } |
Campi | |
---|---|
name |
Il nome della risorsa di PropertyPrices che è stato modificato. Ha il formato:
accounts/{account}/properties/{property} .
|