クエリとヒントの XML リファレンス

このセクションでは、Google の XML ベースの Hint Request メッセージ ヒント応答メッセージクエリ メッセージ」をご覧ください。

<Hint>(ヒント レスポンス メッセージ)

Hint Response メッセージのルート要素。ヒント応答メッセージ 料金を変更するホテルまたは旅行プランの組み合わせを指定する。これらは Hint Request メッセージに対する応答 提供します。

ヒント レスポンス メッセージでは、 Google が前回正常にヒント応答を受信してから変更されている 管理します

ヒント応答メッセージでは、次のいずれかの方法を使用して、 Google による料金改定が必要なホテルと旅行プラン:

  • 正確な旅行プラン: チェックイン日と 滞在日数。

  • チェックイン期間: チェックインの期間を指定します。 最初のチェックイン日から始まり、最後のチェックイン日で終わる チェックイン日。

  • 期間指定滞在(または期間指定旅行プラン

これらの各方法では、Hint Response メッセージに関して、異なる構文が必要になります。

詳しくは、ヒント応答メッセージをご覧ください。

構文

<Hint> 要素は、Hint Response メッセージのタイプに応じて異なる構文を使用します。

完全一致の旅行プラン

Hint Response メッセージの完全一致宿泊プランに対応する構文は次のとおりです。

<!-- 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>

チェックイン範囲

Hint Response メッセージのチェックイン範囲に対応する構文は次のとおりです。

<!-- 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>

期間指定滞在

ヒント レスポンスの期間付き滞在の構文を以下に示します。 メッセージ:

<!-- 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>

属性

<Hint> 要素にはオプションの属性 id が含まれます。日時 指定されている場合、<Query>hintId 属性として含まれます。 この<Hint>に基づいて送信されたメッセージの数。

子要素

<Hint> 要素には次の子要素があります。

子要素 必須 タイプ ヒント レスポンス タイプ 説明
<CheckInDate> Required Date 完全一致の旅行プラン 旅行プランのチェックイン日。
<FirstDate> Required Date チェックイン期間と期間指定旅行プラン チェックイン期間またはチェックイン期間の最初の日付 Hint Response メッセージを残す。その日付も期間に含まれます。
<Item> Required Object すべて 更新するホテル/宿泊プランのコンテナ。
<LastDate> Required* Date チェックイン範囲と期間指定宿泊プラン

チェックイン期間の最後の日付 Hint Response メッセージを残す。指定した日を含みます。

* 期間指定滞在の場合、この要素は省略可能です。

<LengthOfStay> Required integer 正確な旅行プラン 旅行プランの宿泊日数を正の数で表します 整数。
<Property> Required string すべて

ホテルの ID(ホテルリストと同じ ID を使用)。数値 1 つの行で指定できる <Property> 個の要素の数 <Item> ブロックはヒントのタイプによって決まります。 レスポンス メッセージ:

  • 完全一致宿泊プラン: 最大 100 件までのホテル。
  • チェックイン範囲: 複数(設定している場合) 「<QueryControl>」メッセージで "checkin_range" さんに<MultipleItineraries>
  • 期間指定滞在: 2 人以上(設定した場合) 「<QueryControl>」メッセージで "affected_dates" さんに<MultipleItineraries>
<Stay> Required Object 完全一致の旅行プラン <CheckinDate> と 完全一致の旅行プランの <LengthOfStay> 要素 レスポンス メッセージ。各 <Item> に含めることができるのは 1 つのみです。 <Stay>
<StaysIncludingRange> Required Object 期間指定旅行プラン 期間指定滞在の Hint Response メッセージに含める <FirstDate> 要素と <LastDate> 要素のコンテナ。

完全一致宿泊プラン

次の例では、1 つの宿泊施設に対して複数の旅行プランを定義しています ヒント レスポンス メッセージ:

<!-- 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>

チェックイン範囲

次の例では、料金が変更された 2 つのホテルを指定し、 再度取得する必要があります7 月 3 日から 7 月までのすべての旅行プランは Google に登録されます プロパティ 12345 と 67890 の場合は 6 です。

<!-- 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>

期間指定滞在

次の例は、期間指定滞在の 2 つの異なる使用方法を示しています。 1 晩だけの場合:

<!-- 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>

それぞれの例に対して、Google は <Query> を返します。そのため、 その後、次の料金の更新情報を含む <Transaction> で応答します: 指定したホテル/旅行プラン。

<HintRequest>

Hint Request メッセージのルート要素。Google がヒント リクエストを メッセージがサーバーに送信され、ホテルと 前回 Google からリクエストを受信してから料金が変更された旅行プラン 正常に完了したヒント応答がサーバーから返されます。

料金変更があった場合、Google は <Query> を送信して、指定されたホテルと宿泊プランの更新済み料金設定データを取得します。

詳しくは、Hint Request Message をご覧ください。

構文

<HintRequest> 要素の構文は次のとおりです。

構文

<?xml version="1.0" encoding="UTF-8"?>
<HintRequest>
  <LastFetchTime>last_fetch_time</LastFetchTime>
</HintRequest>

属性

<HintRequest> 要素には属性はありません。

子要素

<HintRequest> 要素には次の子要素があります。

子要素 タイプ 説明
<LastFetchTime> DateTime Google が最後にヒント応答メッセージを受け取った時刻 Hint Request メッセージに関連付けています。

この時間が前回の設定よりも古い場合は、 更新した料金がある場合は、そのメールにヒントと 変更されたホテルを指定するレスポンス メッセージ。

最近成功したフェッチがない場合は、 固定の間隔値(大量のエラーによるより深刻な問題を回避 バックログ)があります。現在の固定間隔の値は 1, 000 秒ですが、 変更される可能性があります。

詳しくは コンサルト<ph type="x-smartling-placeholder"></ph> ヒント レスポンス メッセージをご覧ください。

次の例は、Hint Request メッセージを示しています。

Hint Request メッセージ

次の例は、Hint Request メッセージを示しています。

<?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>

Query メッセージのルート要素。Query 件のメッセージはリクエストです 料金やメタデータの更新が必要です。これらは pull モデルと 変更済み料金 配信モードを確認します。

Query メッセージには次の 3 種類があります。

  • ライブ料金: 特定のユーザー リクエストに応じて、Google がリアルタイムの料金更新を要求します。パートナーがLive pricing queryを受け取った場合 パートナーは、次の <Transaction> メッセージで応答する必要があります。 リクエストされた料金情報が <Result> 要素に含まれています。

  • コンテキストに応じた料金設定を使用: Google はコンテキストに基づいて料金キャッシュを更新します。 人気がありますWith context query を受け取ったとき 次の内容を含む <Transaction> メッセージで応答する必要があります。 <Result> 要素でリクエストされた料金情報。

  • メタデータ: Google は客室と条件の組み合わせのメタデータの更新をリクエストします。 検索しますMetadata Query メッセージを受信すると、 は、関連するデータを指定する <Transaction> メッセージで応答する必要があります。 <PropertyDataSet> 要素で客室と条件の組み合わせを 5 つ指定する必要があります。

詳しくは、料金の概要をご覧ください。 (料金クエリと条件の組み合わせのメタデータ用) メタデータクエリに使用できます

構文には次の 3 種類があります。

構文

<Query> 要素の構文は次のとおりです。

ライブ料金

<?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>

コンテキストあり

<?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>

メタデータ

<HotelInfoProperties>
  <Property>property_ID</Property>
  ...
</HotelInfoProperties>

属性

<Query> 要素には latencySensitive という 1 つの属性を含められます。

latencySensitive 属性は省略可能です。指定して次の値に設定: true は、クエリが Live Pricing Query であることを示します。Google latencySensitive 属性を使用してクエリを送信する場合は、テクニカル アカウント マネージャー(TAM)

子要素

<Query> 要素には次の子要素があります。

子要素 クエリタイプ タイプ 説明
<AffectedNights> Pricing integer 期間指定滞在の日数。この要素は、 変更済み料金で使用される期間指定滞在料金クエリのみ。
<Checkin> Pricing Date 特定の価格変更の日付。
<Context> Pricing (Live Pricing Queries only) <Context> ライブ料金クエリの場合、特定のパラメータを指定します。 行われます。次の子要素があります。
  • <Occupancy>: 宿泊客の合計数
  • <OccupancyDetails>: ゲストの種類(例: 大人または子供
  • <UserCountry>: ユーザーの居住国 場所
  • <UserDevice>: ゲストが使用したデバイスの種類 ホテルを検索するには("mobile など)、 「tablet」または「desktop」を入力します。

<Context> 要素は 1 つのリクエストで繰り返すことができ、さまざまな定員をクエリできます。コンサルト 子要素、構文、例の一覧については <Context>

<FirstDate> Pricing Date 料金が適用される旅行プランの範囲の開始日 適用されます。この要素は、変更済み料金で使用するチェックイン期間の料金設定クエリでのみ使用されます。
<HotelInfoProperties> Metadata string Google が更新を求める 1 つ以上のプロパティ 客室と条件の組み合わせのメタデータをメタデータ Query メッセージに含めます。 この要素には、ホテル プロパティ ID を指定する 1 つ以上の <Property> 要素を格納することができます。
<LastDate> Pricing Date 料金が適用される旅行プランの範囲の終了日 適用されます。この要素はチェックイン期間の料金設定にのみ使用されます 使用するクエリの数を表します。
<Nights> Pricing integer 特定の旅行プランの泊数(最大 30 泊)。
<PropertyList> Pricing Object

料金の更新が必要なホテルの 1 つ以上の ID。

各ホテルを <Property> 要素で定義します。「 value は、ホテルリストのホテル ID と一致する文字列です。例:

<PropertyList>
  <Property>pid1</Property>
  <Property>pid2</Property>
</PropertyList>

料金クエリ

次の例は、料金をリクエストする料金クエリ メッセージを示しています。 3 泊にわたり利用できるホテルのセットに関する最新情報。 2018 年 6 月 10 日:

<?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>

ライブ料金のクエリ

次の例は、レスポンス時間を指定したライブ料金クエリを示しています。 500 ミリ秒に制限する:

<?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>

コンテキスト クエリあり

<?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>

メタデータ クエリ

<?xml version="1.0" encoding="UTF-8"?>
<Query>
  <HotelInfoProperties>
    <Property>pid5</Property>
    <Property>pid8</Property>
    <Property>pid13</Property>
    <Property>pid21</Property>
  </HotelInfoProperties>
</Query>

その他の例(期間指定滞在やチェックイン期間など) 料金のクエリについては、Query メッセージの例をご覧ください。

<Context>

<Context> 要素は Live pricing query の情報を記述します。 ゲストの人数と種類、ユーザーの国、ユーザーのデバイスなど)が含まれます。

複数の <Context> がユーザーの国ごとに異なることはありません。 アクセスできるようになります。複数の <Context> を使用して複数のクエリを実行する場合 追加条件の組み合わせとして各宿泊料金を提供します 該当する宿泊施設や旅行プランの価格です各宿泊施設や旅行プランは 複数の定員の料金を含む 1 つの <Result> ブロック 含まれます。

<Context> クエリのレスポンスの詳細については、以下をご覧ください。 <OccupancyDetails>

構文

<Context> 要素の構文は次のとおりです。

構文

<?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>

子要素

<Context> 要素には次の子要素があります。

子要素 クエリタイプ タイプ 説明
<Occupancy> Pricing integer ゲストの合計数を指定します。

必須ではありませんが、<Occupancy> を含むクエリは、 適切な条件の組み合わせを含むトランザクション メッセージが返される <Occupancy> ごとに定義されますが、 条件の組み合わせはご利用いただけません。条件の組み合わせを指定してください。 <Occupancy> 要素。

注:<Occupancy> は常に表示されるとは限りません。 特定しますそのような場合は、すべての商品の価格を返し、 定員です。

<OccupancyDetails> Pricing Object 先頭に <Occupancy> が付きます。ゲストの指定方法 例:
  • <NumAdults>: 大人の宿泊人数
  • <Children><Child="age">: お子様(通常は 0 ~ 17 歳)を指定する 必要に応じて子供の年齢が含まれます。

必須ではありませんが、<OccupancyDetails> を含むクエリ 適切な Room を含むトランザクション メッセージが返されるはずです。 <Occupancy> ごとに定義されたバンドルですが、 条件の組み合わせはご利用いただけません。次のことをおすすめします: <OccupancyDetails> 要素を指定します。

注: <OccupancyDetails> は、 表示されます。このような場合は、すべてのゲストが 成人です。

<UserCountry> Pricing string

ユーザーの居住国で料金をフィルタします。値は 2 文字の国コード(例: 米国の場合は "US"、 地域コード(「ヨーロッパ」の場合は "EU" など)。

<UserCountry> が定義されたクエリには、指定された国に対して適切な <Rates> ブロックを定義した Transaction メッセージで応答する必要があります。

<UserDevice> Pricing string

ユーザーが検索を行っているデバイスのタイプを基準にして料金をフィルタします。 考えられる値は次のとおりです。

  • mobile
  • desktop
  • tablet

<UserDevice> が定義されたクエリでは、 トランザクション メッセージと、適切な <Rates> クエリ対象のデバイスタイプに対して定義されたブロックです。

利用率

次の例は、<Occupancy> のライブ料金クエリを示しています。 <Context> 以内。このライブ料金クエリは 3 名の大人の宿泊客が対象です。

<?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>

在宅確認の詳細

次のライブ料金クエリの例を次に示します。 <Context> 内の <OccupancyDetails> ライブ料金のクエリが 4 名で、そのうちの 2 名が は子供であり、米国からのゲスト予約に適用される料金を求めている モバイル デバイスの場合:

<?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>

複数のコンテキスト

次の例は、追加の <Context> 要素の使用方法を示しています。 ライブ料金クエリで使用できます

<?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>