料金と客室在庫(トランザクション)XML リファレンス

このページでは、XML ベースのトランザクション メッセージのリファレンスを提供します。

<Transaction>

トランザクション メッセージのルート要素 <Transaction> です。コンテナとは何かを説明する情報 客室とパッケージ、客室とパッケージの料金と空室状況を確認できます。

<Transaction> 要素は、ファイルの次の場所に表示されます。 トランザクション メッセージの XML 階層:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<Transaction> をルート要素として使用するメッセージには、少なくとも 1 つの要素が必要です。 子要素で識別されます。トランザクション メッセージには、次のように任意の数の子要素を含めることができます。 メッセージの合計サイズが 100 MB を超えない限り

構文

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp" id="transaction_ID">

  <!-- Defines data about a room or package (Room Bundle) -->
  <PropertyDataSet>
    ...
  </PropertyDataSet>

  <!-- Updates/sets prices and availability for rooms and Room Bundles -->
  <!-- (Also removes itineraries from inventory) -->
  <Result>
    ...
  </Result>

</Transaction>

属性

<Transaction> 要素には次の属性があります。

属性 必須かどうか 説明
id Required 文字列 各トランザクション メッセージの一意の識別子。
partner Optional string トランザクション メッセージの対象となるパートナー アカウント。マイページ 通常、バックエンドが複数の料金フィードを提供する場合に、 できます。この文字列値は「パートナーキー」です。記載されている値 <ph type="x-smartling-placeholder"></ph> Hotel Center の [アカウント設定] ページ
timestamp Required DateTime

トランザクション メッセージが 送信しました。

タイムスタンプが過去 24 時間以内に送信されたメッセージは 処理されていないものは破棄されます

メッセージは timestamp の順序で処理され、 並べ替えられます。たとえば、価格の更新に タイムスタンプの後に受信した 2019-05-03 14:09:00 のタイムスタンプを (タイムスタンプが 2019-05-03 14:10:00)のメッセージは、 メッセージに記載された価格が、新しい順に 2019-05-03 14:10:00 のタイムスタンプが使用されます。

子要素

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

子要素 必須 説明
<PropertyDataSet> Optional* <PropertyDataSet>

特定の客室と条件の組み合わせについての説明です。通常は 別の Transaction メッセージに含めて、それぞれの要素に共通の値を 条件の組み合わせを使用して、トランザクション メッセージのサイズを小さくすることができます。

<Result> Optional* <Result>

客室の旅行プランや 条件の組み合わせを定義する <RoomBundle> 要素と 宿泊施設のその他の客室タイプ。「 <Result> 要素を使用して、削除することもできます。 在庫から旅行プランを作成できます

* <PropertyDataSet> または <Result> のうち少なくとも 1 つ は必須です。

客室データ

次の例では、Transaction メッセージで客室データを定義します。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>5440OF</RoomID>
      <Name>
        <Text text="Single King Bed Room" language="en"/>
        <Text text="Simple Lit de Roi" language="fr"/>
      </Name>
      <Description>
        <Text text="One king bed with pillowtop mattresses, 300-thread-count linens,
          and down comforters (bedspreads). City view. 300 square feet. Desk with
          rolling chair. Multi-line phone with voice mail. Cable/satellite TV with
          complimentary HBO and pay movies." language="en"/>
        <Text text="Un très grand lit avec matelas à plateau-coussin, ..." language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Bathroom View" language="en"/>
          <Text text="La salle de baines" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Capacity>4</Capacity>
    </RoomData>
  </PropertyDataSet>
</Transaction>

料金データ

次の例では、Transaction メッセージで料金データを定義します。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
  </Result>
  <Result>
    <Property>052213</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">299.98</Baserate>
    <Tax currency="USD">26.42</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="otto"/>
      <PointOfSale id="simon"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

1 泊の料金

次の例では、開始日が 1 ~ 7 泊の料金データを定義します 2023 年 6 月 7 日:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-08-24T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">209.99</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">419.98</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>3</Nights>
    <Baserate currency="USD">614.97</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>4</Nights>
    <Baserate currency="USD">819.96</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>5</Nights>
    <Baserate currency="USD">999.95</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>6</Nights>
    <Baserate currency="USD">1193.94</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-07</Checkin>
    <Nights>7</Nights>
    <Baserate currency="USD">1259.93</Baserate>
    <Tax currency="USD">21.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
  </Result>
</Transaction>


ベースと限定価格

次の例は、Base を含む Transaction メッセージを示しています。 限定価格には次のように入力します。

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

在庫を削除

次の例では、いくつかの在庫(1 泊分の (複数の異なる日付)があるとします。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-05-23T16:20:00-04:00" id="42">
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-23</Checkin>
    <Nights>1</Nights>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-24</Checkin>
    <Nights>1</Nights>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
  <!---Sending <Baserate> is optional with <Unavailable> -->
  <Result>
    <Property>1123581321</Property>
    <Checkin>2023-05-25</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">-1</Baserate>
    <Unavailable>
      <NoVacancy/>
    </Unavailable>
    <Tax currency="USD">0</Tax>
    <OtherFees currency="USD">0</OtherFees>
  </Result>
</Transaction>

<PropertyDataSet>

客室とパッケージ(または条件の組み合わせ)情報のコンテナです。 メッセージ <Transaction>。ホテルに設定された値は、パートナーに設定された値をオーバーライドします。 この情報は Google に保存されるため、毎回定義する必要はありません 料金の更新情報を送信します。

<PropertyDataSet> 要素は、ファイルの次の場所に表示されます。 トランザクション メッセージの XML 階層:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>  // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

詳しくは、条件の組み合わせのメタデータをご覧ください。

構文

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet>
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>hotel_ID</Property>

    <!-- (Optional) Defines metadata about a room -->
    <RoomData>
      ...
    </RoomData>

    <!-- (Optional) Defines package metadata to be paired with rooms (Room Bundles) -->
    <PackageData>
      ...
    </PackageData>
  </PropertyDataSet>
  ...
</Transaction>

属性

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

子要素

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

子要素 必須 説明
<PackageData> Optional* <PackageData> 条件の組み合わせを表します。このデータはパートナーと 旅行プランは指定できませんこの要素は <RoomData>。ただし、その他の設備や利用規約について説明している 説明します。

料金の更新ではパッケージ ID を参照します。

詳細については、このモジュールの 条件の組み合わせのメタデータ

<Property> Required string 関連データが適用されるホテルの ID。「 この要素の値はリスティングに一致する文字列である必要があります ホテルリスト フィードの<id>
<RoomData> Optional* <RoomData> 客室の説明です。このデータはパートナーとホテルに関連付けられます 旅行プランでは利用できません

料金の更新では客室 ID を参照します。

* <PackageData> または <RoomData> のうち少なくとも 1 つ は必須です。

客室とパッケージのデータ

以下の例は、1 つの Google Cloud Storage バケットに <PropertyDataSet>:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

この客室と条件の組み合わせの料金と空室状況を送信すると、 料金メッセージ内の客室 ID とパッケージ ID を参照します。結果は次のとおりです。 メッセージのサイズを大幅に削減できます データの重複が原因で発生する可能性があるエラーの量詳細 詳しくは、条件の組み合わせのメタデータをご覧ください。

<RoomData>

客室に関する旅行プランに依存しないメタデータを定義します。ひいては Room について バンドル(条件の組み合わせは客室と追加アメニティの組み合わせであるため)。使用 <RoomData>: Price 内の記述データの繰り返しを減らす フィード。

<RoomData> 要素は、ファイルの次の場所に表示されます。 トランザクション メッセージの XML 階層:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<RoomData> 要素に含まれる情報は次のとおりです。 旅行プランは指定できません本来の用途は、 旅行プラン以外のデータが含まれます

<RoomData> 要素は <PackageData> に似ていますが、 実際の部屋の設備やパッケージの内容ではなく、使用しているデバイス <RoomData><PackageData> を組み合わせて使用し、次の詳細情報を提供します。 条件の組み合わせ。パッケージに含まれない個々の部屋の場合は、単に <RoomData>

<RoomData> 要素と <PackageData> 要素の両方を 同じ客室または条件の組み合わせ。その客室またはパッケージが 両方の説明が で区切られ、 ハイフンを使用します。

詳しくは、条件の組み合わせのメタデータをご覧ください。

構文

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet>
    ...
    <RoomData>
      <RoomID>room_ID</RoomID>

      <Name>
        <Text text="room_name" language="language_code"/>
        ...
      </Name>

      <Description>
        <Text text="room_description" language="language_code"/>
        ...
      </Description>

      <Capacity>max_number_of_occupants</Capacity>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults, children, or seniors --></OccupancyDetails>
      <OccupancySettings>
        <MinOccupancy>min_number_of_occupants</MinOccupancy>
        <MinAge>min_age_of_occupants</MinAge>
      </OccupancySettings>

      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      <RoomFeatures>
        ...
      </RoomFeatures>
    </RoomData>
    ...
  </PropertyDataSet>
</Transaction>

属性

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

子要素

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

子要素 必須 説明
<Capacity> Optional integer 会議室が物理的に確保できる最大宿泊客数 対応。客室の収容人数が次の値以上である 。

指定する場合は、この値以上の値を指定する必要があります <Occupancy> 要素の 特定の部屋の宿泊客の人数を計測できます。たとえば、大スイートの <Capacity> は 6 かもしれませんが、 <Occupancy> は 4 です。

<Capacity> の値には正の整数を指定してください 1 ~ 20

<Description> Optional Object 客室の詳細な説明。この要素は 他の要素やルールで記述されていない情報を含む <Name> 要素。大文字のみを使用するべきではない 文字を入力します。

<Description> 要素は、単一の子要素を取ります。 要素 <Text> には、次の 2 つの要素が含まれます。 必須属性:

  • text: 客室の詳細な説明。
  • language: 2 文字の言語コード。たとえば fr

言語ごとに個別の <Text> 要素を使用する 広告や無料の予約リンクが表示される場所( language 属性など)。

次の例は、フランス語と英語版の部屋を示しています description:

<Description>
  <Text text="Two queen-sized beds" language="en"/>
  <Text text="Deux lits de la reine" language="fr"/>
</Description>
<Name> Required string 客室のカテゴリの名前。この値は ホテルのランディング ページ(以前の POS)に表示されていること。設定しない この要素の値をすべて大文字にします。

この要素は、単一の子要素 <Text> を使用します。 これには次の 2 つの必須属性があります。

  • text: 部屋の名前。
  • language: 2 文字の言語コード。たとえば fr

言語ごとに個別の <Text> 要素を使用する 広告や無料の予約リンクが表示される場所( language 属性の値)。

次の例は、フランス語と英語版の部屋を示しています name:

<Name>
  <Text text="Standard Double Room" language="en"/>
  <Text text="Le chambre double" language="fr"/>
</Name>
<Occupancy> Optional integer 客室が想定している宿泊客の最大数。 たとえば、大きなスイートであれば 6 人を物理的に収容できます。 最大 4 名まで宿泊可能(定員 = 6)。

この値は <Capacity> 要素。これは、 会議室が物理的に収容できるスペースを確保します。

<Occupancy> の値は正の数で指定してください 1 ~ 99 の整数。

<Occupancy> には、以下を伴います。 <OccupancyDetails> は、リソースの種類を ゲスト(大人または子供)が対象です。構文については、<OccupancyDetails> をご覧ください。 子要素の説明です

<OccupancySettings> Optional Object 特定の宿泊人数に関する要件を制限または変更できる設定です。 できます。

<OccupancySettings> 要素は 次の子要素:

  • <MinOccupancy>: 宿泊客の最小数 確保できます。たとえば、このルールを 2、この会議室を 1 名で予約することはできません。

    <MinOccupancy> の値は正の数で指定してください 1 ~ 99 の整数。

  • <MinAge>: 同伴者全員の最低年齢 可能性があります。たとえば、18 に設定した場合、 この会議室は、ゲスト全員が 18 歳以上のグループ用にのみ予約できます 古いバージョンです。

    <MinAge> の値には正の整数を指定してください 0 ~ 99 の範囲内。

<OccupancySettings>
  <MinOccupancy>2</MinOccupancy>
  <MinAge>16</MinAge>
</OccupancySettings>

すべての子要素を含める必要はありません。

<PhotoURL> Optional Object 指定された部屋の写真の URL と説明(省略可) 条件の組み合わせ。複数の <PhotoURL> を指定できます。 条件の組み合わせによって異なります写真の URL は、それぞれ固有の URL にする必要があります <PhotoURL>

この要素では、次の子要素を使用します。

  • <URL>: 写真の場所を指定します。「 ファイアウォールの内側ではなく、一般公開されている プロトコル(例: https://)。どちらか一方を使用してください <URL>/<PhotoURL>
  • <Caption>: 写真の説明を定義します。 この要素は、単一の子要素 <Text> を使用します。 これには textlanguagetext 属性はキャプションです。 language 属性では 2 文字の 言語コード(en など)を使用します。

例:

<PhotoURL>
  <URL>https://www.example.com/static/bar/image1234.jpg</URL>
  <Caption>
    <Text text="A bright and breezy way to enjoy your mornin'
      cuppa tea." language="en"/>
    <Text text="Une façon lumineuse et aérée pour profiter
      de votre journée tasse de thé." language="fr"/>
  </Caption>
</PhotoURL>
<PhotoURL>
  <URL>https://www.foo.com/static/bar/image5678.jpg</URL>
  <Caption>
    <Text text="Or, perhaps you prefer coffee." language="en"/>
    <Text text="Ou peut-être préférez-vous le café." language="fr"/>
  </Caption>
</PhotoURL>
<RoomFeatures> Optional <RoomFeatures> 客室の設備や機能に関する情報が含まれています。
<RoomID> Required string 客室の一意の ID。この ID を使用して客室データを照合する 料金の更新の <Result> ブロックで更新してください。対象 詳しくは、条件の組み合わせのメタデータをご覧ください。( また、この ID を使用して、1 つのクラスタで共通の客室の定義を参照することも 客室データをインラインで定義する際のトランザクション メッセージ)。

客室データ

次の例では、客室データを定義します。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>5440OF</RoomID>
      <Name>
        <Text text="Single King Bed Room" language="en"/>
        <Text text="Simple Lit de Roi" language="fr"/>
      </Name>
      <Description>
        <Text text="One king bed with pillowtop mattresses, 300-thread-count linens,
          and down comforters (bedspreads). City view. 300 square feet. Desk with
          rolling chair. Multi-line phone with voice mail. Cable/satellite TV with
          complimentary HBO and pay movies." language="en"/>
        <Text text="Un très grand lit avec matelas à plateau-coussin, ..." language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Bathroom View" language="en"/>
          <Text text="La salle de baines" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Capacity>4</Capacity>
    </RoomData>
  </PropertyDataSet>
</Transaction>

会議室とパッケージのメタデータ

次の例では、客室とパッケージのメタデータを定義しています。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

複数の条件の組み合わせ

次の例では、複数の Room に対して客室とパッケージのメタデータを定義しています バンドル:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <!-- A transaction message with room types result. -->
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
      <RoomID>single</RoomID>
      <Name>
        <Text text="Single room" language="en"/>
        <Text text="Chambre simple" language="fr"/>
      </Name>
      <Description>
        <Text text="A single room" language="en"/>
        <Text text="Le chambre simple" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image1235.jpg</URL>
      </PhotoURL>
      <Capacity>2</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>double</RoomID>
      <Name>
        <Text text="Double room" language="en"/>
        <Text text="Chambre double" language="fr"/>
      </Name>
      <Occupancy>1</Occupancy>
    </RoomData>
    <PackageData>
      <PackageID>refundbreakfast</PackageID>
      <Name>
        <Text text="Refundable Room with Breakfast" language="en"/>
        <Text text="Chambre remboursable avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Continental Breakfast" language="en"/>
        <Text text="Petit déjeuner continental" language="fr"/>
      </Description>
      <ChargeCurrency>hotel</ChargeCurrency>
      <Refundable available="1" refundable_until_days="3"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>prepaid</PackageID>
      <Name>
        <Text text="Nonrefundable" language="en"/>
        <Text text="Non remboursable" language="fr"/>
      </Name>
      <Description>
        <Text text="Blah blah blad" language="en"/>
        <Text text="Le blah blah blad" language="fr"/>
      </Description>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="0"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

<RoomFeatures>

会議室で見つかった設備や機能を定義します。

<RoomFeatures> 要素は、ファイルの次の場所に表示されます。 トランザクション メッセージの XML 階層:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
            + <RoomFeatures>

構文

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet ... >
    ...
    <RoomData>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="width"/>
             <Length unit="cm" number="length"/>
           </Bed>
           <!-- Include with any additional beds. -->
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>[shared|private]</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>[smoking|non_smoking]</Smoking>
        <BathAndToilet relation="[together|separate]">
          <Bath bathtub="[false|true]" shower="[false|true]"/>
          <Toilet electronic_bidet="[false|true]" mobility_accessible="[false|true]"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <!-- (Optional) Defines the type of views from the room. -->
          <!-- Example: <OceanView/> -->
        </Views>

      </RoomFeatures>
      ...
    </RoomData>
    ...
  </PropertyDataSet>
</Transactions>

属性

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

子要素

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

子要素 必須 説明
<JapaneseHotelRoomStyle> Optional enum

日本のホテルの客室のスタイルを示します。

指定できる値は次のとおりです。

  • western: ベッドを備えた洋室。
  • japanese: 布団を備えた和室。
  • japanese_western: 以下を備えた和洋室 ベッドを備えた和洋室の客室を用意している。
<Beds> Optional Object チャットルームと同じ数の <Bed> が含まれます。備考 日本の布団は計上されないと考えました。

<Bed> には次の属性があります。

  • size(省略可): 有効な値は single です。 semi_doubledoublequeen、 および king
で確認できます。 各 <Bed> には次の子要素があります。 <ph type="x-smartling-placeholder">
    </ph>
  • <Width>(省略可): ベッドの幅を指定します。必須 属性 unit の値が cm で、かつ ベッドの幅を整数値で指定する number 属性 センチメートルです。
  • <Length>(省略可): ベッドの長さを指定します。 属性 unit の値は cm にする必要があります。 属性 number には、ベッドの長さを指定します。 使用します。
で確認できます。 例:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
<Suite> Optional empty この客室がスイートの場合は、この要素を指定します。
<Capsule> Optional empty この客室がカプセルルームの場合は、この要素を指定します。
<Roomsharing> Optional enum この部屋を他の宿泊者(オーナーなど)と共有するかどうか できます。有効な値は sharedprivate です。
<Outdoor> Optional empty この部屋が屋外の宿泊施設である場合に、この要素を指定します。 固定壁、配管設備、クライメート コントロールがあります。例: ホテルの部屋 キャンプ場はアウトドア宿泊施設ではありませんが 宿泊客が自分の RV 車をレンタルできる RV パークは屋外の宿泊施設です。
<MobilityAccessible> Optional empty この会議室がバリアフリーの場合は、この要素を指定します。
<Smoking> Optional enum この部屋が喫煙室か喫煙室か。有効な値 non_smokingsmoking です。
<BathAndToilet> Optional Object 客室のバスルームとトイレに関する情報が含まれています。

属性は次のとおりです。

  • relation(省略可): 浴室とトイレのトイレの状態を示します。 重なり合います。有効な値は together です。 (浴室とトイレが同じ部屋にある) (「浴室」など)と separate (浴室とトイレに専用のスペースがあります)。この属性は、 部屋に浴室とトイレがない場合に設定される。

この要素は、必要に応じて次の子要素を使用します。

  • <Bath>(省略可): この要素の存在 は、部屋に浴室があることを示します。

    属性は次のとおりです。

    • bathtub(省略可): 浴室に 浴室にバスタブがあるわけです有効な値は 0 です。 (または false)、1(または true)。
    • shower(省略可): 浴室に シャワーを浴びることもできます。有効な値は 0(または false)と 1(または true)。
  • <Toilet>(省略可): この要素の存在 は、この部屋にトイレがあることを示します。

    属性は次のとおりです。

    • electronic_bidet(省略可): トイレに電子ビデあり。 有効な値は 0(または false)と 1(または true)。
    • mobility_accessible(省略可): トイレはバリアフリーです。有効な値は 0 です。 (または false)、1(または true)。

例:

<BathAndToilet relation="separate">
  <Bath bathtub="1" shower="1"/>
  <Toilet
    electronic_bidet="1"
    mobility_accessible="1"/>
</BathAndToilet>
<OpenAirBath> Optional empty 貸切の露天風呂付きの客室の場合は、この要素を指定します。
<AirConditioning> Optional empty この部屋にエアコンがある場合は、この要素を指定します。
<Balcony> Optional empty バルコニーまたはベランダがある場合は、この要素を指定します。
<Views> Optional Object 有効なオプションは次のとおりです。

<AirportView/>
<BayView/>
<BeachView>/>
<CastleView/>
<CityView/>
<CountrysideView/>
<CourtyardView/>
<DuneView/>
<ForestView/>
<GardenView/>
<GolfCourseView/>
<HarborView/>
<LagoonView/>
<LakeView/>
<MarinaView/>
<MountainView/>
<NatureView/>
<OceanView/>
<ParkView/>
<PartialOceanView/>
<PisteView/>
<PoolView/>
<PyramidView/>
<RiverView/>
<StreetView/>

JapaneseHotelRoomStyle にデフォルト値はありません。省略 値によって XML エラーにならないが、リスティングが ユーザーが部屋のスタイルやベッドでフィルタしたときに表示される検索結果。

シングルベッド 2 台

次の例は、<RoomFeatures> の使用方法を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two single beds -->
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
          <Bed size="single">
            <Width unit="cm" number="97"/>
            <Length unit="cm" number="195"/>
          </Bed>
        </Beds>
        <Suite/>
        <Capsule/>
        <Roomsharing>private</Roomsharing>
        <Outdoor/>
        <MobilityAccessible/>
        <Smoking>non_smoking</Smoking>
        <BathAndToilet relation="separate">
          <Bath bathtub="1" shower="1"/>
          <Toilet electronic_bidet="1" mobility_accessible="1"/>
        </BathAndToilet>
        <OpenAirBath/>
        <AirConditioning/>
        <Balcony/>
        <Views>
          <LakeView/>
          <MarinaView/>
          <BeachView/>
          <ForestView/>
          <MountainView/>
          <NatureView/>
        </Views>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

ダブルベッド 2 台

以下は、2 室ある western スタイルの和室の例です。 ベッド double 台。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>western</JapaneseHotelRoomStyle>
        <Beds> <!-- Two double beds-->
          <Bed size="double"></Bed>
          <Bed size="double"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>


ベッドなしの和風

以下は、ベッドのない和室の例です。ベッド japanese スタイルの部屋の情報は必要ありません。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

ベッドを備えた和洋室

king のある japanese_western スタイルの部屋の例です。 。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
        <Beds>
          <Bed size="king"></Bed>
        </Beds>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

パートナーがjapanese_westernのベッド数情報を保有していない場合 次の例のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2023-07-23T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <RoomFeatures>
        <JapaneseHotelRoomStyle>japanese_western</JapaneseHotelRoomStyle>
      </RoomFeatures>
    </RoomData>
  </PropertyDataSet>
</Transaction>

<PackageData>

プロパティの条件の組み合わせに関する、旅行プランに依存しないメタデータを定義します。 この要素には、パートナーとホテル、 旅行プランでは利用できません本来の目的は、旅行プラン以外のすべての 旅行プランデータから参照できます

<PackageData> 要素は、ファイルの次の場所に表示されます。 トランザクション メッセージの XML 階層:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<PackageData> 要素は <RoomData> に似ていますが、 物理的な客室に含まれていない料金機能や条件について記載している 説明します。<RoomData><PackageData> を組み合わせて使用すると、 条件の組み合わせと料金機能の詳細を提供します。スペースのある個々の部屋に パッケージの一部でない場合は、<RoomData> のみを使用します。

次のように、<RoomData> 要素と <PackageData> 要素の両方を 同じ客室または条件の組み合わせにできますその客室またはパッケージが 両方の説明が で区切られ、 ハイフンを使用します。

プロパティの <PackageData> 要素を 1 つ更新する場合は、 プロパティのすべての <PackageData> 要素と <RoomData> 要素を更新します。 各 <PropertyDataSet> は、プロパティに関するすべてのデータとみなされます。 既存のデータはすべて上書きされます。

詳しくは、条件の組み合わせのメタデータをご覧ください。

構文

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <PropertyDataSet ... >
    <PackageData>
      <PackageID>package_ID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
        ...
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
        ...
      </Description>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails><!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>
      <!-- For these next 3 elements, boolean_value can be 0/1 or true/false -->
      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>
      <PhotoURL>
        <Caption>
          <Text text="photo_description" language="language_code"/>
          ...
        </Caption>
        <URL>photo_location</URL>
      </PhotoURL>
      ...
      <Meals>
        <Breakfast
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
        <Dinner
          included="[true|false]" buffet="[true|false]"
          in_room="[true|false]" in_private_space="[true|false]"/>
      </Meals>
      <CheckinTime>checkin_time</CheckinTime>
      <CheckoutTime>checkout_time</CheckoutTime>
      <MembershipBenefitsIncluded>
        <ProgramName>
          <Text language="en" text="Special Rewards">
        </ProgramName>
        <ProgramLevel>
          <Text language="en" text="Platinum">
        </ProgramLevel>
      </MembershipBenefitsIncluded>
      <OnPropertyCredit>
        <Amount currency="USD">123.45</Amount>
      </OnPropertyCredit>
    </PackageData>
    <!-- a PackageID with a MilesIncluded rate feature -->
    <PackageData>
      <PackageID>room_with_miles</PackageID>
      <Name>
       <Text text="Room with Bundled Miles" language="en">
      </Name>
      <ChargeCurrency>hotel </ChargeCurrency>
      <MilesIncluded>
        <NumberOfMiles>1000 </NumberOfMiles>
        <Provider>
          <Text language="en" text="United Airlines">
        </Provider>
      </MilesIncluded>
    </PackageData>
    ...
    ...
  </PropertyDataSet>
  ...
</Transaction>

属性

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

子要素

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

子要素 必須 説明
<BreakfastIncluded> Optional boolean このパッケージに料金に朝食が含まれるかどうかを指定します。 有効な値は 0(または false)と 1 です。 (または true)。

推奨される方法は、 次の価格を変更: <Meals>: <BreakfastIncluded>

<ChargeCurrency> Optional enum ユーザーがいつ、どこで予約を支払うか。この要素では、 <Result><ChargeCurrency> のような構文を使用します。

デフォルト値は web です。

<CheckinTime> Optional Time 最も早いチェックイン時間。 時刻はホテルの現地時間で 24:00 より短くする必要があります。
<CheckoutTime> Optional Time ホテルの現地時間で可能な最も遅いチェックアウト時間。
<Description> Optional Object パッケージの詳細な説明。この要素は 他の要素やルールで記述されていない情報を含む <Name> 要素。大文字のみを使用するべきではない 文字を入力します。

<Description> 要素は 1 つの 子要素 <Text> には、次の 2 つの必須属性があります。 textlanguagetext 属性は description、language 属性は 次の例のように、2 文字の言語コードを指定します。 表示されます。

<Description>
  <Text text="Two breakfast buffet certificates for
    each night of stay." language="en"/>
  <Text text="Deux certificats petit-déjeuner buffet
    pour chaque nuit de séjour." language="fr"/>
</Description>
<InternetIncluded> Optional boolean 無料のインターネット アクセスがパッケージに含まれている場合は、 他のパッケージにはそのようなアメニティは含まれていません。設定しない 要素を使用して、すべてのユーザーに無料のインターネット接続を提供する あります。この要素は、室内の有線インターネットまたはワイヤレスには適用されません 客室ではインターネットを利用できません。有効な値は次のとおりです。 0(または false)、1 (または true)。
<Meals> Optional Object このパッケージ内の食事に関する情報が含まれています。

<Meals> 要素は、2 つの省略可能な子要素を取ります。 要素、<Breakfast><Dinner>、 次の属性を持ちます。

  • included(必須): 1(または true)に設定します 料金に朝食または夕食が含まれているかどうかそれ以外の場合は 0 に設定 または false
  • in_room(省略可): 1(または true)に設定します 宿泊客が宿泊する部屋で朝食と夕食を取れる場合 それ以外の場合は 0(または false)に設定します。
  • in_private_space(省略可): 1(または true) 他の誰かとの接触を回避できるスペース(滞在中の部屋を除く) 他のゲストそれ以外の場合は 0(または false)に設定します。
  • buffet(省略可): 1(または true)に設定します 朝食と夕食をビュッフェ形式で提供する場合。それ以外の場合は 0 に設定 (または false)。

オプションの属性は、included が次の場合にのみ使用されます。 あります。

食事フィルタ(no mealsbreakfast onlydinner onlybreakfast and dinner)が職場まで到着すると、 <Breakfast><Dinner> は両方とも included 属性で指定する必要があります。

<Name> Required string パッケージの名前。この値は 表示する必要がありますこの要素の値をすべて大文字に設定しないでください 使用できます。

この要素は、単一の子要素 <Text> を使用します。 textlanguage の 2 つの属性があります。 text 属性は description、 language 属性は、2 文字の言語コードを指定します。 次の例をご覧ください。

<Name>
  <Text text="Bed and Breakfast" language="en"/>
  <Text text="Lit et petit déjeuné" language="fr"/>
</Name>
<Occupancy> Optional integer 条件の組み合わせが対象とする最大宿泊客数。 たとえば、大きなスイートであれば 6 人を物理的に収容できます。 最大 4 名まで利用できます。

この値は <Capacity> 要素。これは、 会議室が物理的に収容できるスペースを確保します。

<Occupancy> の値は正の数で指定してください 1 ~ 99 の整数。

この要素を <RoomBundle><PackageData> の場合は、<RoomBundle> の値が優先されます。

:

<Occupancy> には、以下を伴います。 <OccupancyDetails>: ゲストのタイプを (大人または子供)。構文と詳細については、<OccupancyDetails> をご覧ください。 子要素の説明です。
<PackageID> Required string

パッケージの一意の ID。この ID を使用して <Result> ブロックを含む条件の組み合わせデータ 料金改定。詳細については、このモジュールの 部屋 バンドル メタデータ

(この ID を使用して、共通の条件の組み合わせ定義を参照することもできます)。 条件の組み合わせデータを定義する際に 1 つのトランザクション メッセージ内で使用する inline.)

<ParkingIncluded> Optional boolean 条件の組み合わせに無料の駐車場が含まれるかどうか、 駐車場以外は、このホテルの有料サービスとなります。指定しない 無料駐車場があるホテルの場合は、この要素の値を指定します。

有効な値は 0(または false)と 1(または true)。デフォルト値は false

<PhotoURL> Optional Object <RoomData><PhotoURL> と同じ、 パッケージ(食事の写真など)の場合。
<Refundable> Optional Object 全額払い戻し可能または無料の料金を提示できます キャンセルします。指定しない場合、払い戻しに関する情報は表示されません。 <PackageData> レベルの払い戻しポリシーは、 <Result> レベル。<Rates> レベルの払い戻しポリシーはオーバーライドされる <PackageData> レベルでの払い戻しポリシー。払い戻し可能な料金設定では 代替オプションを通じてユーザーにも トランザクションメッセージスキーマを変更しますこれらのオプションの詳細 払い戻し可能な料金に関するポリシー

次の例は、<Refundable> すべての属性を設定します。

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

注: すべての属性を設定することをおすすめします。フィード ステータスに関する警告メッセージが、1 つ以上の属性が 未設定。

属性を設定しない場合、レートは 払い戻しが可能です。属性は次のとおりです。

  • available: (必須)1 に設定するか、 true: 料金で完全な許容可能かどうかを示します。 refundそれ以外の場合は 0 または false に設定します。
  • refundable_until_days: ( availabletrue の場合) 全額払い戻しを受けられるチェックインまでの日数 渡されます。refundable_until_days の値 0 ~ 330 の整数にする必要があります。
  • refundable_until_time: (強くおすすめします: availabletrue の場合) ホテルの現地時間で示されます 払い戻しのリクエストは可能です。これを組み合わせ可能 refundable_until_days: 指定する たとえば、「払い戻しは 2 日前の午後 4 時まで可能です」 チェックインします。refundable_until_time が設定されていない場合、この値 デフォルトは午前 0 時です

    この属性の値には、Time 形式を使用します。

属性を設定する際は、次の点に注意してください。

  • available または refundable_until_days が 設定すると、料金は払い戻し可能として表示されません。
  • available0 または false の場合、 他の属性は無視されます。レートは次のように表示されません。 他の属性の一方または両方が設定されていても、refundable になります。
<MembershipBenefits Included> Optional boolean 料金には、滞在期間中のエリート ステータスの特典が含まれます。含まれるもの 次のパラメータを指定します。 <ph type="x-smartling-placeholder">
    </ph>
  • ProgramName: エリート ステータス プログラムの名前
  • ProgramLevel: プログラムのレベル。次に例を示します。 「ゴールド」
  • NightlyValue (optional): 1 泊の料金 説明します。
<CarRentalIncluded> Optional boolean 料金には滞在期間中の無料レンタカーが含まれます。
<MilesIncluded>> Optional boolean 料金にはマイレージも含まれます。次のようなパラメータがあります。 <ph type="x-smartling-placeholder">
    </ph>
  • NumberofMiles: 旅行プランごとのマイル数。
  • Provider: マイレージ サービス。
<OnPropertyCredit> Optional boolean 料金には宿泊施設内のクレジットが含まれます(F&B、リゾート、スパなど)。パラメータ: <ph type="x-smartling-placeholder">
    </ph>
  • Amount: 旅行プランごとのクレジットの値(現地時間) 使用します。
<AirportTransportationIncluded> Optional Object 料金には近隣の空港との無料送迎が含まれます。オプションの direction 属性は、メッセージの方向性を指定します。 交通手段です。有効な値は次のとおりです。 <ph type="x-smartling-placeholder">
    </ph> from: 空港から空港までの交通手段を プロパティです。方向が指定されていない場合のデフォルト値です。 to: 空港から空港までの交通手段を プロパティです。 round_trip: 発着地との間の交通手段があります。 空港です。

1 つの部屋の組み合わせ

次の例では、定員が 2 人(大人 1 人と子供 1 人)で、朝食付き:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>1</NumAdults>
        <Children>
          <Child age="17"/>
        </Children>
      </OccupancyDetails>
      <PackageID>P54321</PackageID>
      <Name>
         <Text text="Breakfast Included" language="en"/>
         <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Two certificates for continental
          breakfast will be provided." language="en"/>
        <Text text="Deux certificats pour le petit déjeuner
          continental seront fournis." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

客室とパッケージのメタデータ

次の例では、客室とパッケージのメタデータを定義しています。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>180054</Property>
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Bed Room" language="en"/>
        <Text text="Chambre single" language="fr"/>
      </Name>
      <Description>
        <Text text="Non-smoking" language="en"/>
        <Text text="Pas de fumiers" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
        <Text text="Avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Includes a delightful array of jams and jellies." language="en"/>
        <Text text="Comprend une délicieuse gamme de confitures et gelées." language="fr"/>
      </Description>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

複数の条件の組み合わせ

次の例では、複数の Room に対して客室とパッケージのメタデータを定義しています バンドル:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <!-- A transaction message with room types result. -->
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
      <RoomID>single</RoomID>
      <Name>
        <Text text="Single room" language="en"/>
        <Text text="Chambre simple" language="fr"/>
      </Name>
      <Description>
        <Text text="A single room" language="en"/>
        <Text text="Le chambre simple" language="fr"/>
      </Description>
      <PhotoURL>
        <Caption>
          <Text text="Living area" language="en"/>
          <Text text="Le chambre" language="fr"/>
        </Caption>
        <URL>http://www.foo.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image1235.jpg</URL>
      </PhotoURL>
      <Capacity>2</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>double</RoomID>
      <Name>
        <Text text="Double room" language="en"/>
        <Text text="Chambre double" language="fr"/>
      </Name>
      <Occupancy>1</Occupancy>
    </RoomData>
    <PackageData>
      <PackageID>refundbreakfast</PackageID>
      <Name>
        <Text text="Refundable Room with Breakfast" language="en"/>
        <Text text="Chambre remboursable avec le petit déjeuner" language="fr"/>
      </Name>
      <Description>
        <Text text="Continental Breakfast" language="en"/>
        <Text text="Petit déjeuner continental" language="fr"/>
      </Description>
      <ChargeCurrency>hotel</ChargeCurrency>
      <Refundable available="1" refundable_until_days="3"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>prepaid</PackageID>
      <Name>
        <Text text="Nonrefundable" language="en"/>
        <Text text="Non remboursable" language="fr"/>
      </Name>
      <Description>
        <Text text="Blah blah blad" language="en"/>
        <Text text="Le blah blah blad" language="fr"/>
      </Description>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="0"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>


条件の組み合わせ料金

次の例では、条件の組み合わせに対して客室とパッケージのメタデータを定義しています 次の料金機能を使用できます。

<Transaction timestamp="2010-04-24T20:44:56-04:00" id="TXNID">
  <PropertyDataSet>
    <Property>12345</Property>
    <RoomData>
     ...
    </RoomData>
<!-- definitions of PackageData types including rate features -->
    <PackageData>
      <PackageID>room_with_addl_benefits</PackageID>
      <Name>
        <Text text="Acme Hotels 2017 Promotion Package" language="en"/>
      </Name>
      <ChargeCurrency>hotel</ChargeCurrency>
      <BreakfastIncluded>1</BreakfastIncluded>
      <MembershipBenefitsIncluded>
        <ProgramName>
          <Text language="en" text="Marriott Rewards"/>
        </ProgramName>
        <ProgramLevel>
          <Text language="en" text="Platinum"/>
        </ProgramLevel>
      </MembershipBenefitsIncluded>
      <OnPropertyCredit>
        <Amount currency="USD">123.45</Amount>
      </OnPropertyCredit>
    </PackageData>
    <PackageData>
      <PackageID>room_with_miles</PackageID>
      <Name>
        <Text text="Room with Bundled Miles" language="en"/>
      </Name>
      <ChargeCurrency>hotel</ChargeCurrency>
      <MilesIncluded>
        <NumberOfMiles>1000</NumberOfMiles>
        <Provider>
          <Text language="en" text="United Airlines"/>
        </Provider>
      </MilesIncluded>
      <AirportTransportationIncluded direction="from"/>
    </PackageData>
  </PropertyDataSet>

<!-- The actual list of prices -->
  <Result>
…
  </Result>
</Transaction>

食事&写真

次の例では、食事の客室とパッケージのメタデータを定義しています。 写真、チェックイン時刻とチェックアウト時刻:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Meals Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <!-- Guests can choose to have breakfast in their room or in another
        space to avoid contact with other guests. -->
        <Breakfast included="1" in_room="1" in_private_space="1"/>
        <Dinner included="1" buffet="1"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

朝食

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <PropertyDataSet>
    <Property>1234</Property>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Breakfast Included" language="en"/>
      </Name>
      <PhotoURL>
        <Caption>
          <Text text="Breakfast" language="en"/>
          <Text text="朝食" language="ja"/>
        </Caption>
        <URL>http://example.com/static/bar/image1234.jpg</URL>
      </PhotoURL>
      <Meals>
        <Breakfast included="true"/>
        <!-- Dinner not included needs to be explicitly specified -->
        <Dinner included="false"/>
      </Meals>
      <CheckinTime>15:00</CheckinTime>
      <CheckoutTime>11:00</CheckoutTime>
    </PackageData>
  </PropertyDataSet>
</Transaction>

<Result>

<Transaction> の価格と在庫状況の更新のためのコンテナ 表示されます。

<Result> 要素は、ファイルの次の場所に表示されます。 トランザクション メッセージの XML 階層:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

<Result> を使用して、客室料金を設定または更新し、 選択しますこの要素で定義されるアイテムは通常、 客室やパッケージに関する旅行プランに依存しないメタデータ(説明や (設備のセット)を <PackageData><RoomData> で定義します。

通常、料金の更新を含むトランザクション メッセージを頻繁に送信します。 送信の正確な方法と頻度は、ご利用の配信モードによって異なります。

次のように、トランザクション メッセージで <Result> を使用して旅行プランを削除できます。 広告枠の削除をご覧ください。 トランザクション メッセージを使用して料金を更新する方法について詳しくは、 在庫状況、広告枠の追加と更新をご覧ください。

1 つのトランザクション メッセージには、任意の数の <Result> 要素を含めることができます。 (メッセージのサイズが 100 MB を超えない限り)。

構文

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    <!-- Required -->
    <Property>hotel_ID</Property>
    <!-- Required -->
    <Checkin>YYYY-MM-DD</Checkin>
    <!-- Required -->
    <Nights>number_of_nights</Nights>

    <Baserate currency="currency_code">price</Baserate>
    <!-- Only required when <Baserate> contains a real price -->
    <Tax currency="currency_code">tax_amount</Tax>
    <!-- Only required when <Baserate> contains a real price  -->
    <OtherFees currency="currency_code">fee_amount</OtherFees>
    <Refundable available="[false|true]" refundable_until_days="number_of_days"
      refundable_until_time="time"/>

    <RoomID>room_ID</RoomID>
    <PackageID>package_ID</PackageID>
    <ExpirationTime>expiration_time</ExpirationTime>
    <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>

    <Occupancy>max_number_of_intended_occupants</Occupancy>
    <!-- For Baserate, occupancy value must be greater than or equal to 2.
         If a value is not provided for occupancy, it defaults to 2. -->
    <OccupancyDetails>occupancy_info</OccupancyDetails>

    <Rates>...</Rates>

    <RoomBundle>...</RoomBundle>

    <AllowablePointsOfSale>
      <PointOfSale id="landing_page_identifier"/>
      ...
    </AllowablePointsOfSale>

    <Custom[1-5]>custom_value</Custom[1-5]>
  </Result>
  ...
  </Transaction>

属性

<Result> 要素には次の属性があります。

属性 必須かどうか 説明
mergeable Optional boolean デフォルトでは、特定のホテルと旅行プランのペアの新しい料金は、 Google のキャッシュにある以前の(期限切れでない)料金を上書きします。「 統合可能な属性を使用すると、追加の価格を Google のキャッシュに保存できます 以前の料金情報を削除せずに継続できますライブ料金クエリ コンテキスト レスポンスでは、この属性は常に true に設定されます。 (トランザクション メッセージのレスポンスに関係なく)使用されます。

子要素

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

子要素 必須 説明
<AllowablePointsOfSale> Optional Object 対象となる 1 つ以上のランディング ページが おすすめしますランディング ページは、ユーザーの予約プロセスを処理できるウェブサイトです。 あります。特定のランディング ページを明示的に指定 など)、<AllowablePointsOfSale> を 1 つ以上追加してください <PointOfSale> 要素の ランディング ページ ファイル内の id 属性。

この要素を含めない場合、 ランディングページのファイルは できます。詳細については、このモジュールの ランディング ページ ファイルの構文

<Baserate> Optional float

滞在中の客室の料金。この要素の値 以下を反映する必要があります。

  • 個室の場合は、最も安価な 2 人部屋の料金を設定します 提供します特に定員がない場合は、これ以上の人数を指定できます 2 人部屋の宿泊料金で、アカウントに 2 人以外の宿泊人数がある 有効にします。2 人以外の宿泊料金を有効にするには、お問い合わせください。 ここでは 1 人部屋の宿泊料金は許可されていません。 <Rates> で設定する必要があります。
  • 共有のチャットルームの場合は、空白のままにして <RoomBundle>
  • この値は、すべての宿泊に対する基本料金の合計であり、 1 泊の平均宿泊料金です。

その旅行プランで客室が利用できない場合、 <Baserate> は省略するか、 -1<Unavailable> は、 および使用不能になった既知の理由が示されます。

条件の組み合わせを削除するには、条件の組み合わせを削除するの手順を実施してください。

<Baserate> に数字のグループ化を含めることはできません カンマ(,)やピリオド(.)などの記号常に分離 小数点にピリオド(.)を使用する分数。たとえば 1,200.40 ドルは次のように表します。

<Baserate currency="USD">1200.40</Baserate>

<Baserate> 要素では、 オプションの属性:

  • all_inclusive: このレートを示すブール値 (税、サービス料込み)通常は、この値を false(米国とカナダのエンドユーザーと供給値) <Tax><OtherFees> あります。すべて込みの料金をご利用の場合は、ご利用いただけない場合があります 料金で税金が区切られていない場合にリスティングに表示される 料金が含まれます。

    米国のユーザーに対しては、すべて込みの料金が表示されるようになりました。

    その他のすべてのエンドユーザーについては、通常、税金と手数料を含めます。 基本料金で指定し、all_inclusive の値を設定します。 true に指定します。詳細については、このモジュールの 税金と手数料に関するポリシー

    デフォルト値は false です。

  • currency: 3 文字の通貨コード。対象 たとえば、米ドルの場合は USD です。
<ChargeCurrency> Optional enum ユーザーがいつ、どこで予約を支払うか。この要素は <Result> のトランザクション メッセージで使用します。 Hotel Price または <PackageData> ブロックの要素 条件の組み合わせについては

指定できる値は次のとおりです。

  • web: 次の日付の時点でユーザーはオンラインで請求されます。 予約できます。これはデフォルト値です。実際のランディングページは <ph type="x-smartling-placeholder"></ph> により定義 ランディング ページ ファイルに関係します。また、ユーザーの通貨の影響を受ける場合があります。 地域や言語などの要素に基づいて自動的に選択されます。
  • hotel: チェックイン時にユーザーに課金されます。 おすすめします常にホテルの通貨で支払いを行う必要がある場合は、 <ChargeCurrency> の値を hotel。実際のランディングページは 表示されます。
  • deposit: 一部がすぐに請求されます。 残りは後の時点で請求され ユーザーがホテルを出るとき。
  • installments: ユーザーには初回の小数値が請求されます。 所定の残高が定期的に支払われることが見込まれる、合計支払額の 一定の期間のみ使用します

デフォルト値は web です。

<Checkin> Required Date Date を使用した旅行プランのチェックイン日 使用できます。<Nights> 要素と <Checkin> 要素が旅行プランを構成します。
<Custom[1‑5]> Optional string 追加のデータを渡すために使用できるカスタム フィールドを定義します 関連付けられます 次の要素名: <ph type="x-smartling-placeholder">
    </ph>
  • <Custom1>
  • <Custom2>
  • <Custom3>
  • <Custom4>
  • <Custom5>

<Custom> 要素を使用すると、任意のデータを渡すことができます。 たとえば、このフィールドに値を指定すると、 ランディング ページのカスタム URL を作成するためにランディング ページ ファイルで使用されます できます。カスタム フィールドあたりの文字数は 200 文字までです。対象 詳しくは、このモジュールの ランディング ページ ファイル

<カスタム><Rate> で提供される要素 要素は <RoomBundle> 要素に継承されません。すべきこと <Custom> の定義属性を各 <RoomBundle> で個別に指定します。

<ExpirationTime> Optional DateTime 料金の有効期限が切れたとみなされる日時(3 時間) なります。

有効期限のタイムスタンプがある場合は、指定しないことをおすすめします。 料金構成にとって重要ではありません。

期限切れの料金や旅行プランは提供されません 期限切れの価格のものは <ph type="x-smartling-placeholder"></ph> ライブ料金クエリをご覧ください。

<Nights> Required integer 旅行プランの宿泊日数。「 <Nights> 要素には正の整数を指定してください。 <Nights><Checkin> が旅行プランを作成します。
<OtherFees> Optional float 基本料金と税金以外の手数料 決定します<OtherFees> 要素は、 単一の必須属性 currency で、 料金の 3 文字の通貨コード。たとえば、USD のようにします。

次の場合は <OtherFees> 要素が必要です。 <Baserate> が 0 より大きい。

<Occupancy> Optional integer この料金で許可される最大宿泊人数を指定します。 <Occupancy><Result> の直下に表示されると、 2 以上を指定する必要があります。<Occupancy> は可能性があります 必ず <OccupancyDetails> を指定します。 ゲストのタイプ(大人または子供)ゲストタイプが指定されていない場合 成人とみなされます。<OccupancyDetails> にコンサルトする 構文と説明が含まれています。もし <Occupancy> 要素が指定されていません。定員数: デフォルトは 2 です。

注: この機能を有効にするには、サポートチームにご連絡ください。 2 人以外の宿泊料金を送信する。

<PackageID> Optional string 事前定義されたパッケージ データにマッピングするパッケージの一意の ID。 PACKAGE-ID ランディング ページ変数の入力にも使用されます。 詳細については、このモジュールの 部屋 バンドル メタデータ
<Property> Required string 関連データの影響を受けるホテルの ID(料金、 旅行プラン、条件の組み合わせ、メタデータなど)。この要素の値は、 指定します。この要素の値はリスティングと一致している必要があります ホテルリスト フィードで定義した <id>
<Rates> Optional <Rates> 1 つ以上の <Rate> ブロックのコンテナ。毎週<Rate> <Rates> は、客室/宿泊プランに異なる料金を定義します。 組み合わせたものです。

料金が複数ある場合は、<Rates> 要素を使用します。 同じ客室と宿泊プランの組み合わせ、または料金が許可されていない場合 <Result> レベルで指定できます。たとえば、1 つのテーブルに <ph type="x-smartling-placeholder"></ph>の料金 限定価格 <ph type="x-smartling-placeholder"></ph> 非公開レート 限定価格 条件の組み合わせ、または異なる定員にすることもできます。

注: <Result> 内では、1 人部屋の宿泊料金を <Rates> でのみ指定します。許可するには、Google にお問い合わせください。 3 人部屋以外の 2 人部屋の料金

<Refundable> Optional Object 全額払い戻し可能または無料の料金を提示できます キャンセルします。指定しない場合、払い戻しに関する情報は表示されません。 <PackageData> レベルの払い戻しポリシーは、 <Result> レベル。<Rates> レベルの払い戻しポリシーはオーバーライドされる <PackageData> レベルでの払い戻しポリシー。払い戻し可能な料金設定では 代替オプションを通じてユーザーにも トランザクションメッセージスキーマを変更します詳細: 払い戻し可能な料金に関するポリシー

次の例は、<Refundable> すべての属性を設定します。

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

注: すべての属性を設定することをおすすめします。フィード ステータスに関する警告メッセージが、1 つ以上の属性が 未設定。

属性を設定しない場合、レートは 払い戻しが可能です。属性は次のとおりです。

  • available: (必須)1(または true など)と、 refundそれ以外の場合は 0(または false)に設定します。
  • refundable_until_days: ( availabletrue の場合) 全額払い戻しを受けられるチェックインまでの日数 渡されます。refundable_until_days の値 0 ~ 330 の整数にする必要があります。
  • refundable_until_time: (強くおすすめします: availabletrue の場合) ホテルの現地時間で示されます 払い戻しのリクエストは可能です。これを組み合わせ可能 refundable_until_days: 指定する たとえば、「払い戻しは 2 日前の午後 4 時まで可能です」 チェックインします。refundable_until_time が設定されていない場合、この値 デフォルトは午前 0 時です

    この属性の値には、Time 形式を使用します。

属性を設定する際は、次の点に注意してください。

  • available または refundable_until_days が 設定すると、料金は払い戻し可能として表示されません。
  • available0(または false)の場合、 他の属性は無視されます。レートは次のように表示されません。 他の属性の一方または両方が設定されていても、refundable になります。
<RoomBundle> Optional <RoomBundle> 客室の物理的説明の情報(料金を含む)を格納するコンテナ。 アメニティのパッケージ、アメニティの購入ポリシーの詳細が ホテルと旅行プランに基づいて作成されます。

通常、この要素は、基本客室の料金を定義するために使用します。 同じ宿泊施設で異なるタイプの客室を使用している場合可能性はありますが、 条件の組み合わせの説明をインラインで定義する場合は、 その情報を定義するトランザクション メッセージ。Google は 繰り返しではなく参照するために使用できます。 今後の料金改定についてお話しします

<RoomID> Optional string 事前定義された客室データにマッピングする一意の ID。また、 PARTNER-ROOM-ID ランディング ページ変数への入力に使用されます。 詳細については、このモジュールの 部屋 バンドル メタデータ
<Tax> Optional float 最終的な客室の料金に対して計算される税金。 <Tax> 要素では、単一の必須属性を指定します。 currency: 3 文字の通貨コードを定義します 税の金額です。たとえば、USD のようにします。「 次の場合は <Tax> 要素が必要です。 <Baserate> が 0 より大きい。

<Baserate> 要素の 「オールインクルーシブ」明示的に true に設定している場合、 オプションです。

<Unavailable> Optional Object 旅行プランが予約できないことを示します。用途 旅行プランが利用できない理由の詳細が表示されます。1 本 以下の利用不能理由のうち、1 つ以上が <Unavailable> タグ: <ph type="x-smartling-placeholder">
    </ph>
  • <NoVacancy/>: 販売可能な部屋はもうありません 1 連泊以上の場合です
  • <MinNightStay value=N/>: 旅行プランが 該当する日付での最低宿泊日数が N 泊。
  • <MaxNightStay value=N/>: 旅行プランは 該当する日の最大 1 泊の宿泊日数は N です。
  • <MinAdvancePurchase value=N/>: 旅行プラン 滞在の事前予約可能期間(N)を下回っています できます。
  • <MaxAdvancePurchase value=N/>: 旅行プラン 滞在の事前予約可能期間(N)を上回っています できます。
  • <ClosedToArrival/>: このプロパティが許可されない チェックインできます。
  • <ClosedToDeparture/>: このプロパティが許可されない チェックアウトする。
  • <PropertyClosed first_open="YYYY-MM-DD" first_closed="YYYY-MM-DD"/>: 宿泊施設は一部閉鎖されています 利用できます推奨される属性 first_open および first_closed には、次の最初の日付を指定します。 宿泊施設がオープンしている、または閉まっている到着日。 宿泊施設が到着日後に閉業する場合は、first_open 到着日と同じである必要があります。また、first_closed は 宿泊施設が閉業する日です。次の日に閉業している宿泊施設の場合: 到着日。first_closed は到着日と同じである必要があります。 first_opened は、 プロパティが開いています。
  • <NotFetched/>: 旅行プランの料金が データを取得できます
  • <InvalidProperty/>: リクエストされたプロパティ ID 認識されませんでした。
  • <InvalidOccupancy/>: リクエストされた占有率 そのプロパティが対応している必要があります
  • <PriceIssue/>: 料金の問題により、 送信されません。
  • <InternalError reason=""/>: 列挙されていないエラー 発生しました。省略可能な reason 属性で、エラーをテキストとしてレポートできます。
  • <OtherRestriction restriction=""/>: 旅行プラン 一部の予約制限により利用できません。任意 制限属性を使用すると、制限をテキストとしてレポートできます。

複数のプロパティの例

次の例では、1 つの旅行プランと 2 つの旅行プランの料金を定義しています プロパティ:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
  </Result>
  <Result>
    <Property>052213</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">299.98</Baserate>
    <Tax currency="USD">26.42</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="otto"/>
      <PointOfSale id="simon"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

この例には、部屋に関する 説明、写真とキャプション、部屋の名前、収容人数です。

この情報は、別のトランザクションで 1 回定義できます。 というメッセージです。こうすれば、あらゆる場所でそれを参照できます。 料金や在庫の更新頻度が高くなります詳細については、このモジュールの 条件の組み合わせのメタデータ

複数レートの例

次の例では、1 つの旅行プランと、複数の 宿泊人数に応じた料金を提示します<Rates> 要素を使用すると、次のことができます。 特定の宿泊施設に複数の料金を設定できる。次の例は、 民泊(VR)施設でも有用です。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2021-01-13</Checkin>
    <Nights>9</Nights>
    <Baserate currency="USD">3196.1</Baserate>
    <Tax currency="USD">559.49</Tax>
    <OtherFees currency="USD">543.34</OtherFees>
    <Occupancy>2</Occupancy>
    <Rates>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>1</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>3</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>4</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>5</Occupancy>
      </Rate>
      <Rate>
        <Baserate currency="USD">3196.1</Baserate>
        <Tax currency="USD">559.49</Tax>
        <OtherFees currency="USD">543.34</OtherFees>
        <Occupancy>6</Occupancy>
      </Rate>
    </Rates>
  </Result>
</Transaction>

「使用不可」の例

次の例では、空室状況を指定できなかった 1 つの旅行プランを定義しています つまり、最小値を下回っている 1 秒に 指定した日付にすでに予約されており、 宿泊施設は到着日に閉業していますが、 滞在:

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Unavailable>
      <NotFetched/>
    </Unavailable>
  </Result>
  <Result>
    <Property>073313</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Unavailable>
      <NoVacancy/>
      <MinNightStay value=3/>
    </Unavailable>
  </Result>
  <Result>
    <Property>052213</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>10</Nights>
    <Unavailable>
      <PropertyClosed first_open="2018-06-15" first_closed="2018-06-10"/>
    </Unavailable>
  </Result>
</Transaction>

<Rates>

1 つ以上の <Rate> ブロックのコンテナ。毎週<Rate> <Rates> は、客室または旅行プランの組み合わせに対して異なる料金を定義します。

<Rates> 要素は、複数の料金がある場合にのみ使用します。 同じ客室または旅行プランの組み合わせである必要があります。たとえば、1 つのテーブルに 限定価格のレート 非公開レート 条件の組み合わせの限定価格

<Rates> 要素は、ファイルの次の場所に表示されます。 トランザクション メッセージの XML 階層:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>         // Pricing and availability
        + <Rates>
        + <RoomBundle> (Can also contain <Rates>)
        + ...

<Rate> で設定された値は、 親要素 <Result> または <RoomBundle> のいずれかを指定します。<Rate> で設定されていない場合、 親要素から値を継承します。単独 &lt;AllowablePointsofSale&gt;<RoomBundle> 要素に継承されます。

構文

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    <Rates>
      <Rate rate_rule_id="rate_rule_id">
        <Baserate currency="currency_code">price</Baserate>
        <Tax currency="currency_code">tax_amount</Tax>
        <OtherFees currency="currency_code">fee_amount</OtherFees>
        <ExpirationTime>expiration_time</ExpirationTime>
        <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
        <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
        <AllowablePointsOfSale>
          <PointOfSale id="landing_page_identifier"/>
        </AllowablePointsOfSale>
        <Occupancy>max_number_of_intended_occupants</Occupancy>
        <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>
          ...
        <Custom[1-5]>custom_value</Custom[1-5]>
      </Rate>
      ...
    </Rates>
  </Result>
  ...
</Transaction>

属性

<Rates> 要素には次の属性があります。

属性 必須 説明
rate_rule_id Optional <ph type="x-smartling-placeholder"></ph> 限定価格を使用すると、この ID は料金を 料金ルール定義ファイル。このフィールドの文字数制限は 40 文字です あります。

子要素

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

子要素 必須 説明
<AllowablePointsOfSale> Optional Object 対象となる 1 つ以上のランディング ページが おすすめしますこの要素の構文は、 <Result><AllowablePointsOfSale> が投稿されました。
<Baserate> Required float 滞在中の客室の料金。この要素では、 <Result><Baserate> のような構文を使用します。

注: 下位の <Baserate> 子要素は、 <Rate> は使用不可として定義できません。

<ChargeCurrency> Optional enum ユーザーがいつ、どこで予約を支払うか。この要素では、 <ChargeCurrency> と同じ構文を <Result>
<Custom[1‑5]> Optional string 関連する追加データを渡すために使用できるカスタム フィールド。 ホテルからランディングページに 移動することもできますこの要素の構文は、 <Result> 内の <Custom[1‑5]>。上限がある 最大 200 文字まで使用できます詳細については、このモジュールの <ph type="x-smartling-placeholder"></ph> ランディング ページ ファイル

<Custom> の場合各要素は、 <Result> 要素に含まれていた場合、 <RoomBundle> 要素で、各要素に対して個別に定義する必要があります。 <RoomBundle>、または <PackageData> に含めることができます。 必要ありません。

<ExpirationTime> Optional DateTime 料金の有効期限が切れたとみなされる日時。この 要素の構文は、 <Result> 内の <ExpirationTime>
<Occupancy> Optional integer

この料金で許可される最大宿泊人数を指定します。回答が「いいえ」の場合 親レートと同じとみなされます。 <Occupancy> には、以下を伴います。 <OccupancyDetails>: 宿泊客の種類(大人または 。構文と説明については、<OccupancyDetails> をご覧ください できます。

<OtherFees> Required float 最終料金に影響する基本料金と税金以外の手数料 できます。この要素の構文は、 <Result> 内の <OtherFees>

<Baserate> 要素の 「オールインクルーシブ」明示的に true に設定している場合、 オプションです。

<Refundable> Optional Object 全額払い戻し可能または無料の料金を提示できます キャンセルします。指定しない場合、払い戻しに関する情報は表示されません。 <PackageData> レベルの払い戻しポリシーは、払い戻しポリシーよりも優先されます。 <Result> レベルです。<Rates> レベルの払い戻しポリシーはオーバーライドされる <PackageData> レベルでの払い戻しポリシー。払い戻し可能な料金設定では 代替オプションを通じてユーザーにも トランザクションメッセージスキーマを変更しますこれらのオプションの詳細 払い戻し可能な料金に関するポリシー

次の例は、<Refundable> すべての属性を設定します。

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

注: すべての属性を設定することをおすすめします。フィード ステータスに関する警告メッセージが、1 つ以上の属性が 未設定。

属性を設定しない場合、レートは 払い戻しが可能です。属性は次のとおりです。

  • available: (必須)1(または true など)と、 refundそれ以外の場合は 0(または false)に設定します。
  • refundable_until_days: ( availabletrue の場合) 全額払い戻しを受けられるチェックインまでの日数 渡されます。refundable_until_days の値 0 ~ 330 の整数にする必要があります。
  • refundable_until_time: (強くおすすめします: availabletrue の場合) ホテルの現地時間で示されます 払い戻しのリクエストは可能です。これを組み合わせ可能 refundable_until_days: 指定する たとえば、「払い戻しは 2 日前の午後 4 時まで可能です」 チェックインします。refundable_until_time が設定されていない場合、この値 デフォルトは午前 0 時です

    この属性の値には、Time 形式を使用します。

属性を設定する際は、次の点に注意してください。

  • available または refundable_until_days が 設定すると、料金は払い戻し可能として表示されません。
  • available0(または false)の場合、 他の属性は無視されます。レートは次のように表示されません。 他の属性の一方または両方が設定されていても、refundable になります。
<Tax> Required float 最終的な客室の料金に対して計算される税金。この 要素の構文は <Tax> と同じです。 <Result>

基本レートと限定価格

次の例は、基本料金を含むトランザクション メッセージを示しています。 限定価格の場合:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>1</Nights>

    <Baserate currency="USD">200.00</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">1.00</OtherFees>

    <Rates>
      <!-- The rate_rule_id is required when using conditional rates -->
      <Rate rate_rule_id="mobile">
        <!-- Override base rate and taxes for conditional rates -->
        <Baserate currency="USD">180.00</Baserate>
        <Tax currency="USD">18.00</Tax>
        <!-- NOTE: OtherFees is inherited from the above setting -->
        <Custom1>ratecode123</Custom1>
      </Rate>
    </Rates>

  </Result>
</Transaction>

複数の限定価格

次の例では、基本料金と複数の限定価格を定義しています <RoomBundle> 内:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>


      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

<RoomBundle>

条件の組み合わせの料金と空室情報を <Transaction> メッセージの <Result>。イベントごとに個別の要素を定義する パッケージまたは旅行プランの組み合わせですパッケージと利用規約を定義するには、 条件の組み合わせ: <RoomData> を使用します。

<RoomBundle> 要素は、ファイルの次の場所に表示されます。 トランザクション メッセージの XML 階層:

+ <Transaction>
    + <PropertyDataSet>  // Room and package metadata
        + <Property>
        + <RoomData>
        + <PackageData>
    + <Result>           // Pricing and availability
        + <Rates>
        + <RoomBundle>
        + ...

詳しくは、条件の組み合わせを使用するをご覧ください。

構文

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

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    ...
    <RoomBundle>
      <!-- Required unless specified inline under <RoomData> -->
      <RoomID>room_ID</RoomID>
      <!-- Required  <PackageData> -->
      <PackageID>package_ID</PackageID>

      <!-- Required -->
      <Baserate currency="currency_code">price</Baserate>
      <!-- Required -->
      <Tax currency="currency_code">taxes</Tax>
      <!-- Required -->
      <OtherFees currency="currency_code">other_fees</OtherFees>

      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- Required -->
      <ChargeCurrency>[deposit|hotel|installments|web]</ChargeCurrency>
      <Occupancy>max_number_of_intended_occupants</Occupancy>
      <OccupancyDetails> <!-- optional info about the types of guests,
      whether adults or children --></OccupancyDetails>

      <BreakfastIncluded>boolean_value</BreakfastIncluded>
      <InternetIncluded>boolean_value</InternetIncluded>
      <ParkingIncluded>boolean_value</ParkingIncluded>

      <RatePlanID>rate_plan_ID</RatePlanID>

      <Rates>...</Rates>

      <Custom1>custom_value_1</Custom1>
      <Custom2>custom_value_2</Custom2>
      <Custom3>custom_value_3</Custom3>
      <Custom4>custom_value_4</Custom4>
      <Custom5>custom_value_5</Custom5>
    </RoomBundle>
    ...
  </Result>
</Transaction>

属性

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

子要素

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

子要素 必須 説明
<Baserate> Required float 宿泊時の条件の組み合わせの料金を定義します。この要素では <Result><Baserate> と同じ構文ですが、 次の例外があります。 <ph type="x-smartling-placeholder">
    </ph>
  • その旅行プランに対応する客室が利用できない場合は、 会議室が利用できないことを示す <RoomBundle> 要素 より長くなります詳細については、このモジュールの <ph type="x-smartling-placeholder"></ph> 条件の組み合わせを削除するをご覧ください。
<BreakfastIncluded> Optional boolean この条件の組み合わせの料金に朝食が含まれるかどうかを指定します。
<ChargeCurrency> Optional enum ユーザーがいつ、どこで予約を支払うか。この要素では、 <Result><ChargeCurrency> のような構文を使用します。

デフォルト値は web です。

<Custom[1‑5]> Optional string 追加のデータをランディング ページに渡すためのカスタム フィールド 条件の組み合わせによって異なりますこれらの要素の構文は、 <Result><Custom[1-5]>。200 個という上限があります 最大文字数までです詳細については、このモジュールの ランディング ページ ファイル:

<Custom> の場合各要素は、 <Result> 要素に含まれていた場合、 <RoomBundle> 要素で、各要素に対して個別に定義する必要があります。 <RoomBundle>、または <PackageData> に含めることができます。 必要ありません。

<InternetIncluded> Optional boolean 条件の組み合わせに無料のインターネット アクセスが含まれている場合、 他のバンドルにはそのアメニティが含まれません設定しない 要素を使用して、すべてのユーザーに無料のインターネット接続を提供する あります。この要素は、室内の有線インターネットまたはワイヤレスには適用されません 客室ではインターネットを利用できません。
<Occupancy> Required integer この料金で許可される最大宿泊人数を指定します。たとえば、 大きなスイートは物理的に 6 名まで収容できる可能性がありますが、 "ハネムーン パッケージ"宿泊客は 2 名まで。

この値は <Capacity>は、Google Chat で 確保します。

ランディング ページ URL で宿泊人数を定義する場合は、 NUM-ADULTS 変数と NUM-CHILDREN 変数( 詳細については、 変数と条件をご覧ください。デフォルト値は 2 です。 大人と子供 0 人。

<Occupancy> の値は正の数で指定してください 1 ~ 99 の整数。

:

  • <Occupancy><RoomBundle>) 必須としてフラグを付けることを強くおすすめします。省略すると 1097 エラーがスローされます。
  • <Occupancy> は、このフォルダ内のデータ オブジェクトから取得されます。 順序: <RoomBundle><PackageData> の後に = <RoomData>。 どちらにも値がない場合、値はデフォルトで 2 になります。
  • <Occupancy> には、以下を伴います。 <OccupancyDetails>, ゲストのタイプ(大人または子供)を指定します。ゲストタイプが 指定されていない場合は、18 歳以上とみなされます。コンサルト 子要素の構文と説明については <OccupancyDetails>
  • 両方で <Occupancy> を設定すると、 <RoomBundle><PackageData><RoomBundle> の値) が優先されます。
<OtherFees> Required float 基本料金と税金以外の手数料 決定します<OtherFees> 要素は、 単一の必須属性 currency で、 料金の 3 文字の通貨コード。たとえば、 USD は米ドルです。
<PackageID> Optional (recommended) string パッケージ データの一意の ID。この ID を使用して 条件の組み合わせデータと <PackageData> で送信された内容が含まれます。対象 詳しくは、このモジュールの 部屋 バンドル メタデータ。( また、この ID を使用して、使用される共通の条件の組み合わせ定義を参照することもできます。 条件の組み合わせデータを定義するときに 1 つのトランザクション メッセージに含める inline.)
<ParkingIncluded> Optional boolean 条件の組み合わせに無料の駐車場が含まれるかどうか、 駐車場以外は、このホテルの有料サービスとなります。指定しない 無料駐車場があるホテルの場合は、この要素の値を指定します。

有効な値は 0(または false)と 1(または true)。デフォルト値は false

<RatePlanID> Optional string 料金プラン ID は、各プランに固有の識別子を 組み合わせたものです。たとえば、 <RoomID> の値が 5 で <PackageID> の値を ABC とした場合、 <RatePlanID> の 5-ABC。使用することを強く推奨します 動的なランディング ページを作成するための変数として RatePlanID を指定する (旧称 POS)の URL を入力します。

詳細については、このモジュールの 変数と 条件

<Rates> Optional <Rates> この条件の組み合わせのデフォルトをオーバーライドする料金。この 要素の構文は <Result><Rates> と同じです。
<Refundable> Optional Object 全額払い戻し可能または無料の料金を提示できます キャンセルします。指定しない場合、払い戻しに関する情報は表示されません。 <PackageData> レベルの払い戻しポリシーは、 <Result> レベル。<Rates> レベルの払い戻しポリシーはオーバーライドされる <PackageData> レベルでの払い戻しポリシー。払い戻し可能な料金設定では 代替オプションを通じてユーザーにも トランザクションメッセージスキーマを変更しますこれらのオプションの詳細 払い戻し可能な料金に関するポリシー

次の例は、<Refundable> すべての属性を設定します。

<Refundable available="1" refundable_until_days="7"
refundable_until_time="18:00:00"/>

注: すべての属性を設定することをおすすめします。フィード ステータスに関する警告メッセージが、1 つ以上の属性が 未設定。

属性を設定しない場合、レートは 払い戻しが可能です。属性は次のとおりです。

  • available: (必須)1(または true など)と、 refundそれ以外の場合は 0(または false)に設定します。
  • refundable_until_days: ( availabletrue の場合) 全額払い戻しを受けられるチェックインまでの日数 渡されます。refundable_until_days の値 0 ~ 330 の整数にする必要があります。
  • refundable_until_time: (強くおすすめします: availabletrue の場合) ホテルの現地時間で示されます 払い戻しのリクエストは可能です。これを組み合わせ可能 refundable_until_days: 指定する たとえば、「払い戻しは 2 日前の午後 4 時まで可能です」 チェックインします。refundable_until_time が設定されていない場合、この値 デフォルトは午前 0 時です

    この属性の値には、Time 形式を使用します。

属性を設定する際は、次の点に注意してください。

  • available または refundable_until_days の場合 設定されていない場合、料金は払い戻し可能として表示されません。
  • available0(または false)の場合、 他の属性は無視されます。レートは次のように表示されません。 他の属性の一方または両方が設定されていても、refundable になります。
<RoomID> Required string 客室データの一意の ID。この ID を使用して 条件の組み合わせデータと、<RoomData> で送信した内容が関連付けられます。 詳細については、このモジュールの <ph type="x-smartling-placeholder"></ph> 条件の組み合わせのメタデータ。(この ID を使用して 1 つのトランザクション メッセージで共通のルーム定義を インラインで編集することもできます)。
<Tax> Required float 最終的な客室の料金に対して計算される税金。 <Tax> 要素では、単一の必須属性を指定します。 currency: 3 文字の通貨コードを定義します 税の金額です。たとえば、米ドルの場合は USD を使用します。

1 人部屋の一括販売

次の例では、1 つの宿泊人数バンドルを含むレスポンスを定義しています。 ユーザーが定員選択ツールで 1 を選択すると、最も低い料金が表示されます。 料金が適用されます。

1 人分の宿泊料金がない場合、Google は 最安値でした。1 人部屋の宿泊料金は、 2 人部屋またはそれ以上の料金がキャッシュされている場合にライブ クエリが行われます。 選択します。

この例では、事前定義された客室とパッケージのメタデータを参照しています。 <RoomID> 要素と <PackageID> 要素。<RoomData><PackageData> 要素で情報を定義します。

<!-- Efficient method of defining Room Bundles-->
<!----- Occupancy of 1 example ----->

<Transaction timestamp="2017-07-18T16:20:00-04:00" id="12345678">
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <!-- Note:  Once defined it does not have to be repeated for future
              Transaction Messages.
              PropertyDataSets can also be defined and sent in their own
              Transaction Message separately from pricing. Google can be
              configured to pull just PropertyDataSets once per day
              (or on a predefined frequency). -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate up to 4, but package data specifies occupancy
           between 1 to 4 -->
      <Capacity>4</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <Capacity>4</Capacity>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P11111</PackageID>
      <Occupancy>1</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P54321</PackageID>
      <Occupancy>2</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
  <Result>
    <!-- Single occupancy pricing will be specified in a room bundle below -->
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>
    <!-- Base Room Bundle -->
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P54321</PackageID>
      <Baserate currency="USD">199.99</Baserate>
      <Tax currency="USD">25.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RatePlanID>060773-P54321</RatePlanID>
    </RoomBundle>
    <RoomBundle>
      <RoomID>060773</RoomID>
      <PackageID>P11111</PackageID>
      <!-- Price for 1 ("occupancy") is the lowest price and will be
           displayed -->
      <Baserate currency="USD">174.99</Baserate>
      <Tax currency="USD">22.08</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RatePlanID>060773-P11111</RatePlanID>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Price for 4 ("occupancy"), any eligible room bundle with 1 or more
           occupancy will be displayed-->
      <Baserate currency="USD">298.88</Baserate>
      <Tax currency="USD">42.12</Tax>
      <OtherFees currency="USD">10.00</OtherFees>
      <RatePlanID>436233-P12345</RatePlanID>
    </RoomBundle>
    <!-- ..Continue providing all available RoomBundle rates under matched
         property for 1 or more occupancies..-->
  </Result>
</Transaction>


定員 2 人以上

次の例では、2 つ以上の定員を含むレスポンスを定義しています。

この例では、事前定義された客室とパッケージのメタデータを参照しています。 <RoomID> 要素と <PackageID> 要素。<RoomData><PackageData> 要素で情報を定義します。

<!-- Efficient method of defining Room Bundles-->
<!----- Occupancy of 3 example ----->

<Transaction timestamp="2017-07-18T16:20:00-04:00" id="12345678">
  <!-- Efficient method of defining Room Bundles-->
  <!-- Part1: Define RoomData and PackageData in PropertyDataSet -->
  <PropertyDataSet>
    <Property>180054</Property>
    <!-- Can be reused by multiple Room Bundles -->
    <RoomData>
      <RoomID>060773</RoomID>
      <Name>
        <Text text="Single Queen Room - Non-Smoking" language="en"/>
        <Text text="Chambre de la Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <!-- Room can accommodate up to 4, but package data specifies occupancy
           between 1 to 4 -->
      <Capacity>4</Capacity>
    </RoomData>
    <RoomData>
      <RoomID>436233</RoomID>
      <Name>
        <Text text="Premium King Room - Non-Smoking" language="en"/>
        <Text text="Chambre de le Roi Premium - Pas de Fumeurs" language="fr"/>
      </Name>
      <Capacity>4</Capacity>
    </RoomData>
    <!-- Can be reused by multiple Room Bundles -->
    <PackageData>
      <PackageID>P33333</PackageID>
      <Occupancy>3</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="7"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
    <PackageData>
      <PackageID>P12345</PackageID>
      <Occupancy>4</Occupancy>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="1" refundable_until_days="1"
           refundable_until_time="18:00:00"/>
      <ParkingIncluded>1</ParkingIncluded>
      <InternetIncluded>1</InternetIncluded>
    </PackageData>
  </PropertyDataSet>

  <Result>
    <Property>180054</Property>
    <Checkin>2017-10-07</Checkin>
    <Nights>2</Nights>
    <!-- Efficient method of defining Room Bundles -->
    <!-- Part 2: Reference RoomData and PackageData through ID -->
    <!-- Base Room Bundle -->
    <RoomBundle>
      <!-- Baserate above and attributes must match atleast one room bundle
           below -->
      <RoomID>060773</RoomID>
      <PackageID>P33333</PackageID>
      <Baserate currency="USD">499.99</Baserate>
      <Tax currency="USD">55.12</Tax>
      <OtherFees currency="USD">22.00</OtherFees>
    </RoomBundle>
    <!-- Premium Room Bundle -->
    <RoomBundle>
      <RoomID>436233</RoomID>
      <PackageID>P12345</PackageID>
      <!-- Lowest price for 3 ("occupancy"), shown below, will be displayed -->
      <Baserate currency="USD">598.88</Baserate>
      <Tax currency="USD">62.12</Tax>
      <OtherFees currency="USD">30.00</OtherFees>
    </RoomBundle>
    <!-- ..Continue providing all available RoomBundle rates under matched
         property for 2 or more occupancies..-->
  </Result>
</Transaction>


複数の条件の組み合わせ

次の例では、複数の条件の組み合わせに定員を設定してもらっています。 提示できます。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
    ...
    <!-- Suite Room Bundle -->
    <RoomBundle>
      <RoomID>suite1</RoomID>
      <PackageID>standard</PackageID>
      <Occupancy>2</Occupancy>
      <!-- Price for room -->
      <Baserate currency="USD">80.00</Baserate>
      <Tax currency="USD">5.12</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="Suite for 2" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>

    <!-- Small Dorm Room Bundle -->
    <RoomBundle>
      <RoomID>small_dorm</RoomID>
      <PackageID>economy</PackageID>
      <Occupancy>1</Occupancy>
      <!-- Price per bed -->
      <Baserate currency="USD">35.00</Baserate>
      <Tax currency="USD">3.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="1 bed in small dorm" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>

    <!-- Large Dorm Room Bundle -->
    <RoomBundle>
      <RoomID>large_dorm</RoomID>
      <PackageID>economy</PackageID>
      <Occupancy>1</Occupancy>
      <!-- Price per bed -->
      <Baserate currency="USD">20.00</Baserate>
      <Tax currency="USD">2.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>
      <RoomData>
        <Name>
          <Text text="1 bed in large dorm" language="en"/>
        </Name>
      </RoomData>
    </RoomBundle>
    ...
  </Result>
</Transaction>

複数の限定価格

次の例では、基本料金と複数の限定価格を定義しています <RoomBundle> 内:

<?xml version="1.0" encoding="UTF-8" ?>
<Transaction timestamp="2023-05-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2023-04-10</Checkin>
    <Nights>2</Nights>
    <!-- When Google receives new room bundle information for an itinerary, all
    previous room bundle pricing is dropped from Google's cache. Thus, if you
    want to delete a specific room bundle from Google's cache, you may do so
    by simply not providing that specific room bundle in subsequent transaction
    messages. -->
    <RoomBundle>
     ...
      <!-- RoomID is required, PackageID is recommended. -->
      <RoomID>5</RoomID>
      <PackageID>ABC</PackageID>
      <!-- Baserate is required. -->
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">2.00</OtherFees>

      <!-- RatePlanID is optional and represents the unique identifier for a
      room and package data combination. We strongly recommend using RatePlanID
      as a variable to build your dynamic landing page (formerly Point of Sale)
      URL. For details, see Using Variables and Conditions. -->
      <RatePlanID>5-ABC</RatePlanID>

      <!-- Occupancy is mandatory for RoomBundle elements. -->
      <!-- Elements below will get inherited to nested rate elements. -->
      <Occupancy>2</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
      </OccupancyDetails>
      <InternetIncluded>1</InternetIncluded>


      <!-- Rate rule "mobile" overrides chargeCurrency, "us_or_gb" doesn't. -->
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <!-- Neither rate overrides Custom2. -->
      <Custom2>ratebasic</Custom2>

      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides ChargeCurrency from roombundle. -->
          <ChargeCurrency>hotel</ChargeCurrency>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode321</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <!-- The value below overrides Custom1 from roombundle. -->
          <Custom1>ratecode432</Custom1>
          <!-- Custom2 is inherited from roombundle. -->
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>

<OccupancyDetails>

トランザクション メッセージ内の <Occupancy> には、ゲストの最大数を指定します。 割り当てることができます。<OccupancyDetails> には追加情報を含めることができます 宿泊客の人数や種類(大人または子供)など、さまざまな情報が含まれています。

<Occupancy><OccupancyDetails><Rates> 要素内に表示される場合 <Result> または <RoomBundle> の場合は、レートが次によって制限されている 宿泊人数の詳細です

構文

<OccupancyDetails> の前には、常に <Occupancy> が付きます。 次の構文に注意してください。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction ... >
  <Result>
  ...
    <Occupancy>max_number_of_intended_occupants</Occupancy>
    <OccupancyDetails>
      <NumAdults>number_of_adults</NumAdults>
      <Children>
        <Child age=age_of_one_child_guest/>
        <Child age=age_of_one_child_guest/>
      </Children>
    </OccupancyDetails>
  </Result>
</Transaction>

子要素

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

子要素 必須 説明
<NumAdults> Required integer 大人の宿泊客の人数。最小 1、最大 20。
<Children> Optional Object 1 つ以上の <Child> 要素のコンテナ。
<Child age> Optional integer この子の最長年齢(例: <Child age="17">)。

次の例は、<OccupancyDetails> がファイル内でどのように表示されるかを示しています。 <Results><RoomBundle>、または <Rates> 子要素。

結果のレスポンス

次の例では、1 つの旅行プランと 1 つの旅行プランの料金を定義しています ライブ料金クエリに対するレスポンスで、ユーザーが ゲストの数とタイプ。<OccupancyDetails> -- 大人 2 人と 1 つの子が <Result> に返されます。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>060773</Property>
    <RoomID>RoomType101</RoomID>
    <PackageID>Package101</PackageID>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">278.33</Baserate>
    <Tax currency="USD">25.12</Tax>
    <OtherFees currency="USD">2.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="site1"/>
    </AllowablePointsOfSale>
    <Occupancy>3</Occupancy>
    <OccupancyDetails>
      <NumAdults>2</NumAdults>
      <Children>
        <Child age="17"/>
      </Children>
    </OccupancyDetails>
  </Result>
</Transaction>

評価のレスポンス

次の例では、1 つの旅行プランとその料金(大人 1 人)を定義しています と子供 1 人。ここでは、<OccupancyDetails><Rates><Result> の要素。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Transaction id="Wtdj8QoQIWcAAbaTGlIAAAC4" timestamp="2018-04-18T11:27:45-04:00">
  <Result>
    <Property>8251</Property>
    <Checkin>2018-06-20</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">62.18</Baserate>
    <Tax currency="USD">2.45</Tax>
    <OtherFees currency="USD">0.00</OtherFees>
    <Rates>
      <Rate rate_rule_id="rule-951">
        <Occupancy>2</Occupancy>
        <OccupancyDetails>
          <NumAdults>1</NumAdults>
          <Children>
            <Child age="17"/>
          </Children>
        </OccupancyDetails>
        <Baserate currency="USD">42.61</Baserate>
        <Tax currency="USD">5.70</Tax>
        <OtherFees currency="USD">0.00</OtherFees>
        <Custom1>abc4</Custom1>
        <AllowablePointsOfSale>
          <PointOfSale id="yourhotelpartnersite.com"/>
        </AllowablePointsOfSale>
      </Rate>
    </Rates>
  </Result>
</Transaction>

条件の組み合わせ

次の例では、大人 2 人と子供 1 名の宿泊人数を 2 泊で利用できましたここでは、<OccupancyDetails> が表示されます。 <RoomBundle> の中

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-23T16:20:00-04:00" id="42">
  <Result>
    <Property>6781291</Property>
    <Checkin>2017-08-05</Checkin>
    <Nights>2</Nights>
    ...
    <RoomBundle>
      <RoomID>10291</RoomID>
      <RatePlanID>564739</RatePlanID>
      <PackageID>564739</PackageID>
      <Occupancy>3</Occupancy>
      <OccupancyDetails>
        <NumAdults>2</NumAdults>
        <Children>
          <Child age="17"/>
        </Children>
      </OccupancyDetails>
      <ChargeCurrency>web</ChargeCurrency>
      <Refundable available="true" refundable_until_days="1" refundable_until_time="23:59:00" />
      <Baserate currency="USD">185.34</Baserate>
      <Tax currency="USD">37.06</Tax>
      <OtherFees currency="USD">2.22</OtherFees>
    </RoomBundle>
  </Result>
</Transaction>

複数の条件の組み合わせ

次の例では、複数の <RoomBundle> 料金を定義しています。 最大宿泊人数は大人 2 人と子供 2 人です。ここでは、 <OccupancyDetails> は、<RoomBundle><Rates> 要素に含まれます。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-07-18T16:20:00-04:00" id="42">
  <Result>
    <Property>1234</Property>
    <Checkin>2018-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">275.00</Baserate>
    <Tax currency="USD">27.50</Tax>
    <OtherFees currency="USD">0</OtherFees>
    <RoomBundle>
      <RoomID>5</RoomID>
      <PackageID>STD</PackageID>
      <Baserate currency="USD">275.00</Baserate>
      <Tax currency="USD">27.50</Tax>
      <OtherFees currency="USD">0</OtherFees>
      <InternetIncluded>1</InternetIncluded>
      <ChargeCurrency>web</ChargeCurrency>
      <Custom1>ratebasic</Custom1>
      <Custom2>ratebasic</Custom2>
      <Occupancy>4</Occupancy>
      <OccupancyDetails>
          <NumAdults>2</NumAdults>
          <Children>
              <Child age="17"/>
              <Child age="17"/>
          </Children>
      </OccupancyDetails>
      <Rates>
        <Rate rate_rule_id="mobile">
          <Baserate currency="USD">258.33</Baserate>
          <Tax currency="USD">25.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <ChargeCurrency>hotel</ChargeCurrency>
          <Custom1>ratecode321</Custom1>
        </Rate>
        <Rate rate_rule_id="us_or_gb">
          <Baserate currency="USD">268.33</Baserate>
          <Tax currency="USD">26.83</Tax>
          <OtherFees currency="USD">1.00</OtherFees>
          <Custom1>ratecode432</Custom1>
        </Rate>
      </Rates>
    </RoomBundle>
  </Result>
</Transaction>