Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Se si esegue l'iscrizione al pull con richieste di suggerimenti, Microsoft invia un messaggio con il modulo seguente all'endpoint specificato chiedendo di identificare eventuali modifiche dell'itinerario dopo l'ultima richiesta pull. La frequenza delle richieste viene decisa al momento dell'onboarding.
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="123-abc" timestamp="2017-10-21T08:45:09Z">
<LastFetchTime>2017-10-21T08:30:16Z</LastFetchTime>
</HintRequest>
L'elemento LastFetchTime identifica la data e l'ora UTC dell'ultima risposta riuscita inviata a Microsoft che identificava le modifiche all'itinerario. Se non sono stati apportati cambiamenti da quel momento, la risposta dovrebbe contenere un corpo vuoto. Se ci sono state modifiche, il corpo contiene un messaggio Hint , che identifica gli itinerari che sono stati modificati. È possibile identificare gli itinerari utilizzando uno dei seguenti metodi:
- Itinerari esatti
- Intervalli di date per l'archiviazione
- Intervalli di date per l'archiviazione ampliati
Itinerari esatti
Il tuo messaggio di suggerimento può identificare i singoli itinerari utilizzando la data di check-in e la durata del soggiorno. L'esempio seguente mostra un messaggio di suggerimento che specifica un singolo itinerario per un singolo hotel.
<Hint>
<Item>
<Property>789</Property>
<Stay>
<CheckInDate>2017-10-20</CheckInDate>
<LengthOfStay>2</LengthOfStay>
</Stay>
</Item>
</Hint>
Ogni <articolo> rappresenta un itinerario individuale. È possibile specificare oggetti Elemento <> per ogni itinerario che si desidera aggiornare e ogni itinerario può specificare una o più proprietà.
Quando Microsoft riceve l'hint precedente, invia il messaggio di query seguente:
<Query>
<Checkin>2017-10-20</Checkin>
<Nights>2</Nights>
<PropertyList>
<Property>789</Property>
</PropertyList>
</Query>
Quando ricevi il messaggio di query, la risposta dovrebbe contenere un feed Prezzo con il risultato> seguente<.
<Result>
<Property>789</Property>
<Checkin>2017-10-20</Checkin>
<Nights>2</Nights>
<!-- Pricing and other elements that changed -->
</Result>
Se l'hint precedente specificasse due proprietà, il feed Price conterrà due <elementi Result> (uno per ogni proprietà).
Intervalli di date per l'archiviazione
Il tuo messaggio di suggerimento può identificare una serie di itinerari. Per specificare l'intervallo, impostare l'elemento FirstDate sulla data di inizio check-in e sulla data dell'ultimo LastDate check-in. L'esempio seguente mostra un messaggio di suggerimento che usa un intervallo di date per specificare sei date di archiviazione per una singola proprietà.
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>123</Property>
<FirstDate>2017-10-20</FirstDate>
<LastDate>2017-10-25</LastDate>
</Item>
</Hint>
Ogni <elemento> rappresenta un singolo intervallo di date di check-in. È possibile specificare un <oggetto Item> per ogni intervallo di date del check-in che identifica gli itinerari che si desidera aggiornare, e ognuno può specificare una o più proprietà.
Quando Microsoft riceve l'hint precedente, invia il messaggio di query seguente.
<Query>
<FirstDate>2017-10-20</FirstDate>
<LastDate>2017-10-25</LastDate>
<Nights>3</Nights>
<PropertyList>
<Property>123</Property>
</PropertyList>
</Query>
Quando si riceve il messaggio Query, la risposta dovrebbe contenere un feed Price con gli oggetti Result> seguenti<.
<Result>
<Property>789</Property>
<Checkin>2017-10-20</Checkin>
<Nights>1</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-20</Checkin>
<Nights>2</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-20</Checkin>
<Nights>3</Nights>
<!-- Pricing and other elements that changed -->
</Result>
. . .
<Result>
<Property>789</Property>
<Checkin>2017-10-25</Checkin>
<Nights>1</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-25</Checkin>
<Nights>2</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-25</Checkin>
<Nights>3</Nights>
<!-- Pricing and other elements that changed -->
</Result>
In questo esempio, il numero massimo di risultati che il feed Prezzo deve contenere è 18 (6 date di check-in * 3 notti). Il feed Prezzo potrebbe contenere meno contenuti se alcuni itinerari con questo intervallo di date non sono stati modificati.
Intervalli di date per l'archiviazione ampliati
L'hint per l'intervallo di date di check-in espanso è simile a quello per l'intervallo di date di check-in, tranne per il fatto che chiede di includere nell'intervallo di date tutti gli itinerari che intersecano gli itinerari. Pertanto, il feed Prezzo deve includere qualsiasi itinerario la cui data di check-out rientra nell'intervallo di date.
StaysIncludingRange <> identifica l'hint come hint per l'intervallo di date dell'archiviazione espanso. Per specificare l'intervallo, impostare l'elemento FirstDate sulla data di inizio check-in e sulla data dell'ultimo LastDate check-in. L'esempio seguente mostra un messaggio di suggerimento che usa un intervallo di date per specificare sei date di archiviazione per una singola proprietà.
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>123</Property>
<StaysIncludingRange>
<FirstDate>2017-10-20</FirstDate>
<LastDate>2017-10-25</LastDate>
</StaysIncludingRange>
</Item>
</Hint>
Ogni <Articolo> rappresenta una singola gamma di itinerari. È possibile specificare un <oggetto Item> per ogni intervallo di date del check-in che identifica gli itinerari che si desidera aggiornare, e ognuno può specificare una o più proprietà.
Quando Microsoft riceve l'hint precedente, invia il messaggio di query seguente. L'impostazione MaxLengthOfStay nel messaggio QueryControl determina il valore per <AffectedNights> (questo esempio presuppone che sia impostato su 3).
<Query>
<FirstDate>2017-10-20</FirstDate>
<LastDate>2017-10-25</LastDate>
<AffectedNights>3</AffectedNights>
<PropertyList>
<Property>123</Property>
</PropertyList>
</Query>
Quando si riceve il messaggio Query, la risposta dovrebbe contenere un feed Price con gli oggetti Result> seguenti<. Si noti che la data di archiviazione per i primi oggetti cade prima della FirstDate data nel suggerimento. Questo perché la data di check-out dell'itinerario rientra nell'intervallo di date del suggerimento.
<Result>
<Property>789</Property>
<Checkin>2017-10-17</Checkin>
<Nights>3</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-18</Checkin>
<Nights>2</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-18</Checkin>
<Nights>3</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-19</Checkin>
<Nights>1</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-19</Checkin>
<Nights>2</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-19</Checkin>
<Nights>3</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-20</Checkin>
<Nights>1</Nights>
<!-- Pricing and other elements that changed -->
</Result>
. . .
<Result>
<Property>789</Property>
<Checkin>2017-10-25</Checkin>
<Nights>1</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-25</Checkin>
<Nights>2</Nights>
<!-- Pricing and other elements that changed -->
</Result>
<Result>
<Property>789</Property>
<Checkin>2017-10-25</Checkin>
<Nights>3</Nights>
<!-- Pricing and other elements that changed -->
</Result>
Query di invio in batch
A seconda del numero di proprietà e itinerari da aggiornare, Microsoft invia diverse query più piccole anziché una query dettagliata. Ad esempio, se è necessario aggiornare gli itinerari per 1.000 proprietà, Microsoft potrebbe inviare 100 messaggi di query con 10 proprietà ciascuno.