Dieser Abschnitt enthält eine Referenz für die XML-basierte Hinweisanfragenachrichten Hinweisantwortnachrichten und Anfragenachrichten.
<Hint>
(Hinweisantwortnachricht)
Das Stammelement einer Hinweisantwortnachricht. Hinweisantwortnachrichten angeben, für welche Hotel- oder Reiseplankombinationen Preisaktualisierungen angewendet werden sollen. Sie sind Ihre Antwort auf eine Hinweisanfragenachricht von Google.
In einer Hinweisantwortnachricht sollten nur die Hotels angegeben sein, deren Preise seit der letzten erfolgreichen Hinweisantwort von Google geändert wurde. auf euren Servern.
In Hinweisantwortnachrichten wird mit einer der folgenden Methoden angegeben, welche Hotels und Reisepläne, deren Preise von Google aktualisiert werden sollen:
Genaue Reisepläne: Eine Kombination aus Anreisedatum und Aufenthaltsdauer.
Check-in-Zeiträume: Gibt einen Check-in-Zeitraum an, der mit dem ersten Check-in-Datum beginnt und mit dem letzten Check-in-Datum endet.
Aufenthalte in bestimmten Zeiträumen (oder Reisepläne mit bestimmten Zeiträumen)
Jede dieser Methoden erfordert eine andere Syntax für die Hinweisantwort. .
Weitere Informationen finden Sie unter Hinweisantwortnachrichten.
Syntax
Das <Hint>
-Element verwendet je nach Typ des Hinweises eine andere Syntax.
Antwortnachricht:
Genaue Reisepläne
Im Folgenden wird die Syntax für genaue Reisepläne in einer Hinweisantwort dargestellt. Nachricht:
<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>hotel_ID</Property>
...
<Stay>
<CheckInDate>checkin_date</CheckInDate>
<LengthOfStay>number_of_nights</LengthOfStay>
</Stay>
</Item>
...
</Hint>
Check-in-Zeiträume
Im Folgenden wird die Syntax für Check-in-Zeiträume in einer Hinweisantwort dargestellt: Nachricht:
<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<!-- At least one is required -->
<Property>hotel_ID</Property>
[...]
<!-- Required -->
<FirstDate>first_checkin_date</FirstDate>
<!-- Required -->
<LastDate>last_checkin_date</LastDate>
</Item>
...
</Hint>
Aufenthalte in bestimmten Zeiträumen
Im Folgenden wird die Syntax für Aufenthalte in bestimmten Zeiträumen in einer Hinweisantwort dargestellt: Nachricht:
<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<!-- At least one is required -->
<Property>hotel_ID</Property>
[...]
<StaysIncludingRange>
<!-- Required -->
<FirstDate>first_date</FirstDate>
<!-- Optional -->
<LastDate>last_date</LastDate>
</StaysIncludingRange>
</Item>
...
</Hint>
Attribute
Das <Hint>
-Element enthält ein optionales Attribut: id
. Wann?
angegeben, wird er als Attribut hintId
in <Query>
eingefügt
Nachrichten, die auf Grundlage dieser <Hint>
gesendet wurden
Untergeordnete Elemente
Das <Hint>
-Element hat die folgenden untergeordneten Elemente:
Untergeordnetes Element | Erforderlich? | Typ | Hinweisantworttyp | Beschreibung |
---|---|---|---|---|
<CheckInDate> | Required | Date | Genaue Reisepläne | Das Check-in-Datum für den Reiseplan. |
<FirstDate> | Required | Date | Check-in-Zeiträume und Reisepläne mit bestimmten Zeiträumen | Das erste Datum des Zeitraums für einen Check-in-Zeitraum oder einen Zeitraum Stay HintResponse-Nachricht. Dieses Datum wird einbezogen. |
<Item> | Required | Object | Alle | Ein Container für das zu aktualisierende Hotel bzw. den zu aktualisierenden Reiseplan. |
<LastDate> | Required* | Date | Check-in-Zeiträume und Reisepläne mit bestimmten Zeiträumen | Das letzte Datum des Zeitraums für einen Check-in-Zeitraum oder einen Zeitraum Stay HintResponse-Nachricht. Datumsangaben sind inklusive. * Dieses Element ist optional für Aufenthalte in bestimmten Zeiträumen. |
<LengthOfStay> | Required | integer | Genaue Reisepläne | Die Anzahl der Übernachtungen des Reiseplans als positive ganze Zahl. |
<Property> | Required | string | Alle | Die ID eines Hotels mit der gleichen ID wie die Hotelliste. Die Zahl
von
|
<Stay> | Required | Object | Genaue Reisepläne | Ein Container für <CheckinDate> und
<LengthOfStay> -Elemente in einem Hinweis zu exakten Reiseplänen
Antwortnachricht. Jedes <Item> kann nur einen einzelnen <Stay> enthalten. |
<StaysIncludingRange> | Required | Object | Reisepläne mit bestimmten Zeiträumen | Ein Container für <FirstDate> und
Hinweisantwort für <LastDate> Elemente in einer Aufenthaltsdauer in bestimmten Zeiträumen
. |
Beispiele
Genaue Reisepläne
Im folgenden Beispiel werden mehrere Reisepläne für eine einzelne Unterkunft definiert eine Hinweisantwortnachricht:
<!-- Exact Itinerary Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2018-07-03</CheckInDate>
<LengthOfStay>3</LengthOfStay>
</Stay>
</Item>
<Item>
<Property>12345</Property>
<Stay>
<CheckInDate>2018-07-03</CheckInDate>
<LengthOfStay>4</LengthOfStay>
</Stay>
</Item>
</Hint>
Check-in-Zeiträume
Im folgenden Beispiel werden zwei Hotels angegeben, deren Preise sich geändert haben, und sollte erneut abgerufen werden. Google ruft alle Reisepläne zwischen dem 3. und 6. Juli für die Unterkünfte 12345 und 67890 ab:
<!-- Check-in Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<Item>
<Property>12345</Property>
<Property>67890</Property>
<FirstDate>2018-07-03</FirstDate>
<LastDate>2018-07-06</LastDate>
</Item>
</Hint>
Aufenthalte in bestimmten Zeiträumen
Das folgende Beispiel zeigt zwei verschiedene Anwendungsfälle für Aufenthalte in bestimmten Zeiträumen: mehrere Nächte und den anderen für eine einzelne Nacht:
<!-- Ranged Stay Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
<!-- Google fetches prices for all itineraries (first and last date are set) -->
<Item>
<Property>12345</Property>
<StaysIncludingRange>
<FirstDate>2018-07-03</FirstDate>
<LastDate>2018-07-06</LastDate>
</StaysIncludingRange>
</Item>
<!-- Google fetches prices for a single night (first date only) -->
<Item>
<Property>67890</Property>
<StaysIncludingRange>
<FirstDate>2018-07-03</FirstDate>
</StaysIncludingRange>
</Item>
</Hint>
Auf jedes dieser Beispiele antwortet Google mit einem <Query>
. Sie sollten sich
Antworten Sie dann mit einer <Transaction>
, die Preisaktualisierungen für den
angegebene Hotels/Reisepläne.
<HintRequest>
Das Stammelement einer Hinweisanfragenachricht. Google sendet eine Hinweisanfrage an Ihren Server gesendet und erwartet eine Antwort, in der die Hotels und Reiseplänen, deren Preise sich geändert haben, seit Google das letzte Mal ein erfolgreiche Hinweisantwort von Ihrem Server.
Wenn es Preisänderungen gibt, sendet Google eine <Query>
, die
ruft die aktualisierten Preisdaten für die angegebenen Hotels und Reisepläne ab.
Weitere Informationen finden Sie unter Hinweisanfragenachrichten.
Syntax
Das <HintRequest>
-Element verwendet die folgende Syntax:
Syntax
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
<LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>
Attribute
Das <HintRequest>
-Element hat keine Attribute.
Untergeordnete Elemente
Das <HintRequest>
-Element hat die folgenden untergeordneten Elemente:
Untergeordnetes Element | Typ | Beschreibung |
---|---|---|
<LastFetchTime> | DateTime | Der Zeitpunkt, zu dem Google zuletzt eine Hinweisantwortnachricht auf eine Hinweisanfragenachricht erhalten hat.
Wenn dieser Zeitpunkt älter ist als das letzte Mal, auf Ihrem Server aktualisiert haben, sollten Sie mit einem Hinweis Antwortnachricht, die angibt, welche Hotels sich geändert haben. Wenn in letzter Zeit kein erfolgreicher Abruf erfolgt ist, wird dieser Wert auf fester Intervallwert (zur Vermeidung schwerwiegender Probleme bei großen Rückstände). Der aktuelle Wert für das feste Intervall beträgt 1.000 Sekunden, ist aber Änderungen vorbehalten. Weitere Informationen Beratung bei Hinweisantwortnachrichten. |
Beispiele
Das folgende Beispiel zeigt eine Hinweisanfragenachricht:
Hinweisanfragenachricht
Das folgende Beispiel zeigt eine Hinweisanfragenachricht:
<?xml version="1.0" encoding="UTF-8"?>
<HintRequest id="ABCDEF" timestamp="2018-06-07T16:20:00Z">
<LastFetchTime>2018-03-25T00:04:09Z</LastFetchTime>
</HintRequest>
<Query>
Das Stammelement einer Query
-Nachricht. Query
-Nachrichten sind Google-Anfragen zu Preis- oder Metadatenaktualisierungen. Sie werden sowohl mit der Pull-Methode
und geänderte Preise
Übermittlungsmodi.
Es gibt drei Arten von Query
-Nachrichten:
Livepreise: Google reagiert auf eine bestimmte Nutzeranfrage und fordert eine Preisaktualisierung in Echtzeit. Wenn Partner eine
Live pricing query
erhalten sollten Partner mit einer<Transaction>
-Nachricht antworten, die enthält angeforderte Preisinformationen in<Result>
-Elementen.Mit Kontextpreisen:Google aktualisiert seinen Preis-Cache je nach Kontext die historisch beliebt sind. Wenn du eine
With context query
erhältst Nachricht senden, sollten Sie mit einer<Transaction>
-Nachricht antworten, die die in<Result>
-Elementen Preisinformationen angefordert.Metadaten: Google fordert Metadatenaktualisierungen für die Zimmer und Zimmerpakete an. für die angegebenen Hotels. Wenn Sie eine
Metadata Query
-Nachricht erhalten, sollten Sie mit einer<Transaction>
-Nachricht antworten, in der Daten zu den Zimmern und Zimmerpaketen in<PropertyDataSet>
-Elementen angegeben werden.
Weitere Informationen finden Sie in der Preisübersicht für Preisabfragen und Zimmerpaket-Metadaten für Metadatenabfragen.
Es gibt drei verschiedene Syntaxtypen:
Syntax
Das <Query>
-Element verwendet die folgende Syntax:
Livepreise
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
<FirstDate>YYYY-MM-DD</FirstDate>
<LastDate>YYYY-MM-DD</LastDate>
<!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
<AffectedNights>number_of_nights</AffectedNights>
<PropertyList>
<Property>hotel_id</Property>
...
</PropertyList>
<!-- See documentation below for <Context> -->
<Context>
...
</Context>
</Query>
Mit Kontext
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>YYYY-MM-DD</Checkin>
<Nights>number_of_nights</Nights>
<!-- Only for Check-in Date Range pricing queries (Changed Pricing) -->
<FirstDate>YYYY-MM-DD</FirstDate>
<LastDate>YYYY-MM-DD</LastDate>
<!-- Only for Ranged Stay pricing queries (Changed Pricing) -->
<AffectedNights>number_of_nights</AffectedNights>
<PropertyContextList>
<PropertyContext>
<Property>hotel_id</Property>
...
<!-- See documentation below for <Context> -->
<Context>
...
</Context>
</PropertyContext>
</PropertyContextList>
</Query>
Metadaten
<HotelInfoProperties>
<Property>property_ID</Property>
...
</HotelInfoProperties>
Attribute
Das <Query>
-Element kann ein Attribut enthalten: latencySensitive
.
Das Attribut latencySensitive
ist optional. Wenn angegeben und festgelegt auf
true
gibt sie an, dass die Abfrage ein Live Pricing Query
ist. Damit Google
Wenn Sie Anfragen mit dem Attribut latencySensitive
senden, wenden Sie sich an Ihren
Account Manager (TAM):
Untergeordnete Elemente
Das <Query>
-Element hat die folgenden untergeordneten Elemente:
Untergeordnetes Element | Anfragetyp | Typ | Beschreibung |
---|---|---|---|
<AffectedNights> | Pricing | integer | Die Anzahl der Übernachtungen für einen Aufenthalt in einem bestimmten Zeitraum. Dieses Element wird verwendet nur für Preisabfragen für Aufenthalte in bestimmten Zeiträumen, die mit „Geänderte Preise“ verwendet werden. |
<Checkin> | Pricing | Date | Die Datumsangaben für eine bestimmte Preisänderung. |
<Context> | Pricing (Live Pricing Queries only) | <Context> | Gibt für Livepreisabfragen bestimmte Parameter an, unter denen
die Abfrage gestellt wird. Untergeordnete Elemente sind:
Das |
<FirstDate> | Pricing | Date | Das Startdatum einer Reihe von Reiseplänen, bis zu denen der Preis berechnet wird gilt. Dieses Element wird nur für Preise für den Check-in-Zeitraum verwendet Abfragen für „Geänderte Preise“. |
<HotelInfoProperties> | Metadata | string | Eine oder mehrere Unterkünfte, für die Google in einer Metadaten-Query -Nachricht eine Aktualisierung der Zimmer- und Zimmerpaketmetadaten benötigt.
Dieses Element kann ein oder mehrere <Property> enthalten
Elemente, die Hotelunterkunfts-IDs angeben. |
<LastDate> | Pricing | Date | Das Enddatum einer Reihe von Reiseplänen, auf die der Preis angewendet wird. Dieses Element wird nur für Preise für den Check-in-Zeitraum verwendet Abfragen, die mit Pull + Hinweisen verwendet werden |
<Nights> | Pricing | integer | Die Anzahl der Übernachtungen für einen bestimmten Reiseplan (maximal 30). |
<PropertyList> | Pricing | Object | Eine oder mehrere IDs für Hotels, für die Preisaktualisierungen erforderlich sind. Definieren Sie jedes Hotel in einem <PropertyList> <Property>pid1</Property> <Property>pid2</Property> </PropertyList> |
Beispiele
Preisabfrage
Das folgende Beispiel zeigt eine Preisanfragenachricht, in der Updates für eine Reihe von Hotels verfügbar für 3 Nächte und ab dem 10. Juni 2018:
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
Livepreisabfrage
Das folgende Beispiel zeigt eine Livepreisabfrage mit einer Antwortzeit. von 500 Millisekunden an:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>5</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>8675309</Property>
</PropertyList>
<Context>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="8"/>
<Child age="5"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
Mit Kontextabfrage
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, occupancy and device might be specified -->
<Context><UserCountry>US</UserCountry></Context>
<Context><UserCountry>GB</UserCountry></Context>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Property>8675311</Property>
<Context><UserCountry>CA</UserCountry></Context>
</PropertyContext>
</PropertyContextList>
</Query>
Metadatenabfrage
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
Weitere Beispiele, einschließlich Aufenthalt in bestimmten Zeiträumen und Check-in-Zeitraum
Preisabfragen finden Sie in den Beispielen für Query
-Nachrichten.
<Context>
Das Element <Context>
beschreibt Informationen zu einem Live pricing query
,
einschließlich Anzahl und Art der Gäste, Land des Nutzers und Nutzergerät.
Mehrere <Context>
werden nie mit verschiedenen Nutzerländern oder Nutzergeräten verwendet. Wenn mehrere <Context>
zur Abfrage mehrerer
Belegungen, geben Sie jeden Belegungspreis als zusätzliches Zimmerpaket an.
für die entsprechende Unterkunft oder den entsprechenden Reiseplan. Jede Unterkunft oder jeder Reiseplan sollte
haben einen einzelnen <Result>
-Block mit den Preisen für mehrere Belegungen
enthalten.
Die Antwortdetails für die <Context>
-Anfrage finden Sie unter <OccupancyDetails>
.
Syntax
Das <Context>
-Element verwendet die folgende Syntax:
Syntax
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true_or_false">
<Checkin>date</Checkin>
<Nights>number_of_nights</Nights>
<DeadlineMs>number_of_milliseconds</DeadlineMs>
<PropertyList>
<Property>property_ID</Property>
</PropertyList>
<Context>
<Occupancy>total_number_of_guests</Occupancy>
<OccupancyDetails>
<NumAdults>number_of_adults</NumAdults>
<Children>
<Child age=age_of_one_child_guest/>
<Child age=age_of_one_child_guest/>
</Children>
</OccupancyDetails>
<UserCountry>end_user_country</UserCountry>
<UserDevice>user_device_type</UserDevice>
</Context>
</Query>
Untergeordnete Elemente
Das <Context>
-Element hat die folgenden untergeordneten Elemente:
Untergeordnetes Element | Abfragetyp | Typ | Beschreibung |
---|---|---|---|
<Occupancy> | Pricing | integer | Gibt die Gesamtzahl der Gäste an. Abfragen mit Hinweis: |
<OccupancyDetails> | Pricing | Object | <Occupancy> ist vorangestellt. Gibt Gäste anhand der folgenden Kriterien an:
Typ, einschließlich:
Abfragen mit Hinweis : |
<UserCountry> | Pricing | string | Filtert Preise nach dem Land, in dem sich der Nutzer befindet. Der Wert ist ein
Aus 2 Buchstaben bestehender Ländercode wie Abfragen, bei denen |
<UserDevice> | Pricing | string | Filtert Preise nach dem Typ des Geräts, von dem aus der Nutzer sucht. Mögliche Werte:
Abfragen, bei denen |
Beispiele
Anwesenheit
Das folgende Beispiel zeigt eine Livepreisabfrage für <Occupancy>
.
innerhalb von <Context>
. Die Abfrage für Livepreise bezieht sich auf 3 Erwachsene.
Gäste.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>4</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>45617</Property>
</PropertyList>
<Context>
<Occupancy>3</Occupancy>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
Details zur Belegung
Das folgende Beispiel zeigt eine Livepreisabfrage mit
<OccupancyDetails>
in <Context>
.
Die Livepreisabfrage ist für 4 Gäste, von denen 2 Kinder sind. Sie sucht nach einem Preis, der für eine Buchung über ein Mobilgerät für Gäste aus den USA gilt:
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>5</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>8675309</Property>
</PropertyList>
<Context>
<Occupancy>4</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="4"/>
<Child age="12"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>
Mehrere Kontexte
Das folgende Beispiel zeigt die Verwendung eines zusätzlichen <Context>
-Elements.
in einer Livepreisabfrage.
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<Checkin>2017-06-07</Checkin>
<Nights>4</Nights>
<DeadlineMs>500</DeadlineMs>
<PropertyList>
<Property>45617</Property>
</PropertyList>
<Context>
<Occupancy>3</Occupancy>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
<Context>
<Occupancy>6</Occupancy>
<OccupancyDetails>
<NumAdults>4</NumAdults>
<Children>
<Child age="6"/>
<Child age="10"/>
</Children>
</OccupancyDetails>
<UserCountry>US</UserCountry>
<UserDevice>mobile</UserDevice>
</Context>
</Query>