クエリ メッセージは、料金設定やメタデータに対する Google からの更新リクエストです。プル配信モードと変更済み料金 料金配信モードで使用されます。
クエリ メッセージのルート要素は <Query> です。
クエリ メッセージの構造は、メッセージの種類によって異なります。
料金設定: 指定されたホテルについて、料金設定の更新を要求する Query メッセージを Google から送信します。
メタデータ: 指定されたホテルについて、客室とパッケージに関するデータを要求する Query メッセージを Google から送信します。
Google がクエリ メッセージとライブ料金クエリに使用するエンドポイントは、初期設定時に定義してください。詳しくは、テクニカル アカウント マネージャー(TAM)にお問い合わせください。
Google は、Content-Type ヘッダーが「application/xml」に設定され、User-Agent ヘッダーが Google-HotelAdsPrices に設定された HTTP POST リクエストとしてクエリ メッセージを送信します。ただし、Google-TravelAds-Live を介して料金エンドポイントを手動で統合する際は、このルールの例外が発生します。サンプルクエリには User-Agent ヘッダーが含まれる場合と、含まれない場合があります。
クエリ メッセージの詳細な形式については、 クエリ XML リファレンスをご覧ください。
料金クエリ メッセージ
料金クエリ メッセージは、料金設定で指定したホテルと旅行プランの組み合わせを指定します。
料金クエリ メッセージを受信したサーバーは、要求された料金設定の情報を含む
<Transaction> メッセージで応答する必要があります。
詳しくは、料金設定の概要をご覧ください。
クエリ メッセージには次の 3 種類があります。
ライブ料金: 有効にすると、ユーザーが指定されたホテルまたは旅行プランの組み合わせの料金を積極的に閲覧しているときにクエリが送信されます。この場合、応答するまでの時間枠が指定されます。
コンテキスト付き: 有効にすると、Google から送信される各クエリにユーザー コンテキストの推奨事項が含まれます。この推奨事項は、指定されたホテルまたは旅行プランの組み合わせを検索するユーザーの最も一般的なタイプを反映しています。この推奨事項に従うことで、応答の効率を高めることができます。
メタデータ: 指定されたホテルの客室とパッケージに関する詳細をリクエストします。
ライブ料金クエリ
ライブ料金クエリは、ユーザーの検索を受けて Google から送信されるリアルタイムの料金設定更新リクエストです。Google は、ユーザーからホテルまたは旅行プランの組み合わせに関する検索リクエストを受け取り、料金データがない、または最新でない場合、検索時に料金の更新をリクエストします。Google はライブ料金クエリを使って、検索時のリアルタイムの料金を取得し、結果に表示できるようにします。
すべてのライブ料金クエリ リクエストには、一般に最大 4000 ミリ秒の応答時間の制限があります。この制限は、ライブ料金クエリ リクエストで指定されます。特定の機会について、この制限時間内に応答できないと、その機会は入札不可になります。時間内に応答できない場合でも、料金を提供することをおすすめします。それにより料金がキャッシュされて、将来の機会で使用できるようになります。 応答のための接続は、10 分間(またはパートナーの設定で指定された時間)維持されます。
ライブ料金クエリはコンテキスト型でもあります。ユーザーの国、デバイスの種類、定員(宿泊人数)、宿泊客の種類(大人、子ども)といったパラメータに関して料金を取得できます。ライブ料金クエリを使用すると、ユーザーの検索内容と一致させて、より最新の料金情報を表示できます。
ライブ料金クエリは、二次的な料金設定の更新方法です (料金設定更新の主要な方法は、現在もプル配信または変更済み料金配信です)。ライブ料金クエリは、Google がホテルと旅行プランの組み合わせによる料金を保持していない場合に役立ちます。
ライブ料金クエリを使用する際のルール
リクエストされた旅行プランが変則的(日程がかなり先の日付であるなど)、またはあまり頻繁に検索されないホテルが指定されているため、その旅行プランに対するキャッシュ データがない場合。
リクエストされた日付がデフォルト以外の日付の場合
: 注: デフォルトの日付では、ライブ料金クエリをリクエストできません。ライブ 料金クエリをリクエストできるのは、デフォルト以外の日付に対してのみです。
通常、Google はライブ料金クエリの結果をキャッシュし、同じホテルと旅行のプランが繰り返しクエリされないようにします。1 つのホテルと旅行プランの組み合わせをリクエストすることも、複数のホテルと 1 つの旅行プランの組み合わせをリクエストすることもできます。
コンテキストを使用したライブ料金クエリでは、Google はユーザーが使っているデバイスの種類、検索元の国、子どもを含む定員数に基づいて特定のライブ料金リクエストを送信できます。 クエリ メッセージとトランザクション メッセージの両方が拡張され、クエリ パラメータを定義する
<Context>要素が追加されました。コンテキストを使用したライブ料金クエリから取得した料金は、
条件の組み合わせ(定員別料金の場合)または
限定価格(ユーザーの国やデバイスに関する場合)としてキャッシュされます。
コンテキスト付きクエリ
コンテキスト付きクエリは、指定されたホテルまたは旅行プランの組み合わせについてデータベースを更新するための通常のリクエストです。これらの組み合わせでよく使用されるユーザー コンテキストのリストが含まれています。 限定価格を使用する場合、 考えられるすべてのユーザー コンテキストの料金を送信するとコストがかかる可能性があるため、 このユーザー コンテキストのリストを使用して応答を制限できます。指定されたユーザー コンテキストの料金のみを返せば、関連するユーザー クエリの大部分に対応できます。
コンテキスト付きクエリの受信に関心がある場合は、テクニカル アカウント マネージャー(TAM)にお問い合わせください。このようなメッセージを受信する準備ができていることを確認し、クエリでユーザー コンテキストの送信を開始するように構成を調整します。
メタデータ クエリ メッセージ
メタデータ クエリ メッセージには、指定されたホテルの客室とパッケージに関する詳細が含まれています。
メタデータ クエリ メッセージを受信した場合は、
リクエストされた宿泊施設の料金を <Result> 要素で指定する <Transaction> メッセージで応答する必要があります。
詳しくは、客室とパッケージのメタデータの定義をご覧ください。
Query メッセージの例
ここでは、料金 Query メッセージとメタデータ Query メッセージの例をいくつか示します。その他の例については、 クエリ XML リファレンスをご覧ください。
旅行プランの例
次の例は、2023 年 5 月 23 日以降の 3 泊分について、4 つのホテルの料金更新データを要求する料金 <Query> を示しています。
<?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>
この例では、それぞれのホテルについて次の滞在期間の料金更新データを要求しています。
5/23/18 - 6/26/18
ライブ料金クエリの例
次の例は、500 ミリ秒の応答時間制限のあるライブ料金クエリです。
<?xml version="1.0" encoding="UTF-8"?>
<Query latencySensitive="true">
<!-- Note that the latencySensitive attribute is not present by default but can
be configured to be displayed, on request, by Google. This attribute is only
displayed for a Live Pricing Query request -->
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<DeadlineMs>500</DeadlineMs>
<!-- The deadline represents the timeframe by which a response will need to be
received by. This element is only displayed for a Live Pricing Query request -->
<PropertyList>
<Property>6781291</Property>
</PropertyList>
<!-- Note that Context tags are potentially repeatable -->
<Context>
<!-- The total number of guests occupying the room (adults+children) -->
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<!-- In this example one of the 3 guests is a 5yr old child -->
<Children>
<Child age="5"/>
</Children>
</OccupancyDetails>
<!-- The user was located in the US when this search was made -->
<UserCountry>US</UserCountry>
<!-- The user was searching from a mobile device at the time of search -->
<UserDevice>mobile</UserDevice>
</Context>
</Query>
この例では、1 つのホテルの料金をリクエストしています。
6/23/23 - 6/25/23
このクエリに対するトランザクション メッセージの応答のサンプルは、 料金と客室在庫(トランザクション)XML リファレンスをご覧ください。
コンテキスト付きクエリの例
コンテキスト付きクエリの例を次に示します。
コンテキスト付きの基本クエリ
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2023-05-23</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<!-- In the future, 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>
定員を含むコンテキスト付きクエリ
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<Checkin>2025-07-10</Checkin>
<Nights>2</Nights>
<PropertyContextList>
<PropertyContext>
<Property>8675309</Property>
<Context>
<UserCountry>US</UserCountry>
</Context>
<Occupancy>3</Occupancy>
<OccupancyDetails>
<NumAdults>2</NumAdults>
<Children>
<Child age="7"/>
</Children>
</OccupancyDetails>
</PropertyContext>
<PropertyContext>
<Property>8675310</Property>
<Context>
<UserCountry>GB</UserCountry>
</Context>
<Occupancy>1</Occupancy>
<OccupancyDetails>
<NumAdults>1</NumAdults>
</OccupancyDetails>
</PropertyContext>
</PropertyContextList>
</Query>
コンテキスト付きクエリでは、ユーザーの国コンテキストのみが指定されます。将来的には、ユーザーのデバイスも指定される可能性があります。
チェックイン日期間
変更済み料金配信を使用する場合、Query メッセージの構造は、チェックイン日期間、完全一致旅行プラン、期間指定旅行プランに使用するヒントの種類によって異なります。 これらの ヒントの種類について詳しくは、ヒント応答メッセージをご覧ください。
チェックイン日
に関する料金 <Query> メッセージの例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<Nights>3</Nights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
この例では、それぞれのホテルについて次の滞在期間の料金更新データを要求しています。
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/24/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
期間指定滞在
期間指定宿滞在に関する料金 <Query> メッセージの例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<FirstDate>2023-05-23</FirstDate>
<LastDate>2023-05-26</LastDate>
<AffectedNights>3</AffectedNights>
<PropertyList>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</PropertyList>
</Query>
この例では、それぞれのホテルについて次の滞在期間の料金更新データを要求しています。
5/23/23 - 5/24/23
5/23/23 - 5/25/23
5/23/23 - 5/26/23
5/24/23 - 5/25/23
5/24/23 - 5/26/23
5/24/23 - 5/27/23
5/25/23 - 5/26/23
5/25/23 - 5/27/23
5/25/23 - 5/28/23
さらに、指定された宿泊日以前(その日も含む)に開始された滞在期間の料金データも要求しています。
5/20/23 - 5/23/23
5/21/23 - 5/23/23
5/21/23 - 5/24/23
5/22/23 - 5/23/23
5/22/23 - 5/24/23
5/22/23 - 5/25/23
メタデータ クエリ メッセージ
この例では、<Query> メッセージは複数のホテルについて客室とパッケージに関するメタデータ
の更新を要求しています。
<?xml version="1.0" encoding="UTF-8"?>
<Query>
<HotelInfoProperties>
<Property>pid5</Property>
<Property>pid8</Property>
<Property>pid13</Property>
<Property>pid21</Property>
</HotelInfoProperties>
</Query>
このタイプの Query メッセージには、客室とパッケージのメタデータを定義するトランザクション メッセージで応答します。詳しくは、 客室とパッケージのメタデータの定義をご覧ください。