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

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

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

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

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

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

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

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

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

これらのメソッドでは、ヒント応答に異なる構文が必要になります。 表示されます。

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

構文

<Hint> 要素の構文は、ヒントの種類によって異なります。 レスポンス メッセージ:

完全一致の旅行プラン

ヒント レスポンスの正確な旅行プランの構文を以下に示します。 メッセージ:

<!-- 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 Ranges Hint Response -->
<?xml version="1.0" encoding="UTF-8"?>
<Hint>
  <Item>
    <!-- At least one is required -->
    <!-- Can be > 1 if MultipleItineraries is "checkin_range" in your
         QueryControl message -->
    <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 -->
    <!-- Can be > 1 if MultipleItineraries is "affected_dates" in your
         QueryControl message -->
    <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 期間指定旅行プラン <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>

1 つのチェックイン範囲のメッセージで複数のルールを プロパティを 1 つの <Item> にまとめている場合、 <QueryControl><MultipleItineraries> は次のように設定する必要があります "checkin_range"

期間指定滞在

次の例は、期間指定滞在の 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>

期間指定滞在のメッセージでは、複数の プロパティを 1 つの <Item> にまとめている場合、 <QueryControl><MultipleItineraries> は次のように設定する必要があります "affected_dates"

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

<HintRequest>

ヒント リクエスト メッセージのルート要素。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 秒ですが、 変更される可能性があります。

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

次の例は、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> ライブ料金クエリの場合、特定のパラメータを指定します。 行われます。子要素には次のものがあります。 <ph type="x-smartling-placeholder">
    </ph>
  • <Occupancy>: ゲストの合計数
  • <OccupancyDetails>: ゲストの種類(例: 大人または子供
  • <UserCountry>: ユーザーの居住国 場所
  • <UserDevice>: ゲストが使用したデバイスの種類 ホテルを検索するには("mobile など)、「tablet」 "または「desktop」を入力します。

<Context> 要素は、単一の さまざまな定員に対するクエリが可能になります。<Context> にコンサルトする 子要素、構文、例の一覧をご覧ください。

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

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

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

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

料金クエリ

次の例は、料金をリクエストする料金クエリ メッセージを示しています。 3 泊で 6 月 10 日から、一連のホテルの 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>

ライブ料金のクエリ

次の例は、レスポンス時間を指定したライブ料金クエリを示しています。 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> を使用して複数のクエリを実行する場合 追加条件の組み合わせとして各宿泊料金を指定してください 。各宿泊施設や旅行プランには 複数の料金を含む単一の <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> は常に表示されるとは限りません。 特定しますそのような場合は、すべての商品の価格を返し、 定員です。

<OccupancyDetails> Pricing Object 先頭に <Occupancy> が付きます。ゲストをタイプ、 含まれます。

  • <NumAdults>: 大人の同伴者数
  • <Children><Child="age">: お子様(通常は 0 ~ 17 歳)を指定する 必要に応じて子供の年齢が含まれます。
  • 必須ではありませんが、<OccupancyDetails> を含むクエリ 適切な条件の組み合わせを含むトランザクション メッセージが返されるようにします。 クエリされた <Occupancy> ごとに定義されます。

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

<UserCountry> Pricing string

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

<UserCountry> が定義されたクエリでは、 適切な <Rates> を含むトランザクション メッセージ ブロックが定義されています。

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