トランザクション(宿泊施設データ)

リクエスト

構文

Transaction (Property Data) メッセージの構文は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="timestamp"
             id="message_ID"
             partner="partner_key">
  <PropertyDataSet action="[overlay|delta]">
    <!-- (Required) ID that matches the Hotel List Feed -->
    <Property>HotelID</Property>
    <RoomData>
      <!-- (Required) One room ID per RoomData element -->
      <RoomID>RoomID</RoomID>
      <Name>
        <Text text="room_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="room_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the rate plans allowed for this room type to
        those listed here. If specified, don't specify AllowableRoomIDs. -->
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID</AllowablePackageID>
      </AllowablePackageIDs>
      <Capacity>max_number_of_occupants</Capacity>
      <AdultCapacity>max_number_of_adult_occupants</AdultCapacity>
      <ChildCapacity>max_number_of_child_occupants</ChildCapacity>
      <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>
        <JapaneseHotelRoomStyle>[western|japanese|japanese_western]</JapaneseHotelRoomStyle>
        <Beds>
           <Bed size="[single|semi_double|double|queen|king]">
             <Width unit="cm" number="bed_width"/>
             <Length unit="cm" number="bed_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>
    <PackageData>
      <!-- (Required) One package ID per PackageData element -->
      <PackageID>PackageID</PackageID>
      <Name>
        <Text text="package_name" language="language_code"/>
      </Name>
      <Description>
        <Text text="package_description" language="language_code"/>
      </Description>
      <!-- (Optional) Restricts the room types allowed for this rate plan to
        those listed here. If specified, don't specify AllowablePackageIDs. -->
      <AllowableRoomIDs>
        <AllowableRoomID>RoomID</AllowableRoomID>
      </AllowableRoomIDs>
      <Refundable available="[false|true]" refundable_until_days="number_of_days"
        refundable_until_time="time"/>
      <!-- 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>
    </PackageData>
  </PropertyDataSet>
</Transaction>

要素と属性

Transaction(宿泊施設データ)メッセージには、次の要素と属性があります。

要素 / @属性 発生回数 タイプ 説明
Transaction 1 Complex element ARI の実装では、これは単一の宿泊施設の客室タイプとパッケージを定義するメッセージのルート要素です。
Transaction / @timestamp 1 DateTime このメッセージの作成日時。
Transaction / @id 1 string このリクエスト メッセージの一意の識別子。この値はレスポンス メッセージで返されます。使用できる文字は、a ~ z、A ~ Z、0 ~ 9、_(アンダースコア)、-(ダッシュ)です。
Transaction / @partner 1 string このメッセージのパートナー アカウント。この文字列値は、Hotel Center の [アカウント設定] ページに表示されている「パートナーキー」の値です。

注: 複数のアカウントにフィードを提供するバックエンドがある場合、この値は、同じアカウントの <OTA_HotelRateAmountNotifRQ> メッセージと <OTA_HotelAvailNotifRQ> メッセージの <RequestorID> 要素で指定された ID 属性値と一致する必要があります。

Transaction / PropertyDataSet 1.. PropertyDataSet 1 つの宿泊施設の客室タイプとパッケージを定義するコンテナ。
Transaction / PropertyDataSet / @action 0..1 enum

客室料金の定義に適用する更新のタイプ。

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

  • overlay :: プロパティで以前に定義されたすべての <RoomData><PackageData> を置き換えます。現在のメッセージの <RoomData><PackageData> のみ有効です。
  • delta :: 未定義の <RoomData><PackageData> を追加するか、既存のものを変更します。

この属性は省略可能です。指定しない場合のデフォルトは delta です。

Transaction / PropertyDataSet / Property 1 string 宿泊施設の一意の識別子。この値は、ホテルリスト フィードの <listing> 要素の <id> を使用して指定されたホテル ID と一致する必要があります。ホテル ID は Hotel Center にも表示されます。
Transaction / PropertyDataSet / RoomData 0..n RoomData

客室の説明です。

注: <RoomData> または <PackageData> のうち少なくとも 1 つが必要です。

Transaction / PropertyDataSet / RoomData / RoomID 1 RoomID 客室タイプの一意の識別子。この値は、<OTA_HotelAvailNotifRQ> メッセージと <OTA_HotelRateAmountNotifRQ> メッセージの <StatusApplicationControl> 要素の InvTypeCode 属性を使用して参照されます。
Transaction / PropertyDataSet / RoomData / Name 1 Name 1 つ以上の言語で記述された客室のカテゴリ名のコンテナ。
Transaction / PropertyDataSet / RoomData / Name / Text 1..n Text 客室のカテゴリ名を 1 つの言語で指定します。
Transaction / PropertyDataSet / RoomData / Name / Text / @text 1..n string language 属性で指定された言語での客室のカテゴリ名。
Transaction / PropertyDataSet / RoomData / Description 1 Name 1 つ以上の言語で客室のカテゴリを説明するコンテナ。
Transaction / PropertyDataSet / RoomData / Description / Text 1..n Text 客室のカテゴリの説明を 1 つの言語で指定する。
Transaction / PropertyDataSet / RoomData / Description / Text / @text 1..n string language 属性で指定された言語での客室のカテゴリの説明。
Transaction / PropertyDataSet / RoomData / Description / Text / @language 1..n string 2 文字の言語コード
Transaction / PropertyDataSet / RoomData / AllowablePackageIDs 0..1 AllowablePackageIDs <AllowablePackageID> 要素のコンテナ。

<AllowablePackageIDs> が指定されている場合、親 <RoomData> 要素の <RoomID> によって識別される客室タイプは、<AllowablePackageID> 要素で定義された料金プランとのみ組み合わせることができます。

<AllowablePackageIDs> が指定されていない場合、親 <RoomData> 要素の <RoomID> によって識別される客室タイプは任意の料金プランと組み合わせることができます。

<AllowablePackageIDs> または <AllowableRoomIDs> のいずれかを使用します。両方は使用できません。

Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID 1..n AllowablePackageID この部屋タイプと組み合わせることができる料金プランの PackageID を指定します。料金プランは、パッケージ、料金、空室状況の組み合わせによって定義されます。PackageID は、OTA_HotelRateAmountNotifRQ メッセージと OTA_HotelAvailNotifRQ メッセージの RatePlanCode に対応します。
Transaction / PropertyDataSet / RoomData / Capacity 0..1 integer 客室が物理的に収容できる大人と子供の最大人数。これは、料金と一緒に送信する NumberOfGuests 値以上である必要があります。

<Capacity> の値は、199 の正の整数にする必要があります。例については、こちらをご覧ください。

注: <Capacity> が設定されていない場合、許可される乗員数は無制限とみなされます。このフィールドが設定されず、ExtraGuestCharges または AdditionalGuestAmounts が定義されている場合、任意の宿泊人数に対する料金を生成できます。ExtraGuestCharges または AdditionalGuestAmounts が定義されている場合は、無効な宿泊人数オプションに対して料金が表示されないように、<Capacity> を設定することをおすすめします。

Transaction / PropertyDataSet / RoomData / AdultCapacity 0..1 integer 客室が物理的に収容できる大人の最大人数。これは、料金と一緒に送信する NumberOfGuests 値以上である必要があります。

<AdultCapacity> の値は、199 の正の整数にする必要があります。例については、こちらをご覧ください。

Transaction / PropertyDataSet / RoomData / ChildCapacity 0..1 integer 部屋が物理的に収容できる子の最大数。

<ChildCapacity> の値は 1 ~ 99 の正の整数にする必要があります。例については、こちらをご覧ください。

Transaction / PropertyDataSet / RoomData / OccupancySettings 0..1 OccupancySettings 客室の占有率の要件を制限または変更できる設定。

<OccupancySettings> 要素では、次の子要素を使用します。

  • <MinOccupancy>: 部屋に滞在できる最小宿泊客数。たとえば、2 に設定した場合、この会議室を 1 人のゲスト用に予約することはできません。

    <MinOccupancy> の値は 1 ~ 99 の正の整数にする必要があります。

  • <MinAge>: 宿泊客全員の最低年齢。たとえば、これが 18 に設定されている場合、この部屋はゲスト全員が 18 歳以上であるグループに対してのみ予約できます。

    <MinAge> の値は 0 ~ 99 の正の整数にする必要があります。

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

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

Transaction / PropertyDataSet / RoomData / PhotoURL 0..n PhotoURL 指定された客室または条件の組み合わせの写真の URL と説明(省略可)。1 つの客室または条件の組み合わせに対して複数の <PhotoURL> を指定できます。

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

  • <URL>: 写真の場所を指定します。ロケーションはファイアウォールの内側ではなく公開され、プロトコル(http://)が含まれている必要があります。
  • <Caption>: 写真の説明を定義します。この要素は、単一の子要素 <Text> を使用します。この要素には、Textlanguage の 2 つの必須属性があります。Text 属性はキャプションで、language 属性は en などの 2 文字の言語コードを指定します。
<PhotoURL>
 <URL>http://www.example.com/image1.jpg</URL>
 <Caption>
  <Text text="A bright way to enjoy your
   mornin' cuppa tea." language="en"/>
  <Text text="Une façon lumineuse pour profiter
   de votre tasse de thé." language="fr"/>
 </Caption>
</PhotoURL>
Transaction / PropertyDataSet / RoomData / RoomFeatures 0..1 <RoomFeatures> 客室の設備や機能に関する情報が含まれています。
Transaction / PropertyDataSet / RoomData / RoomFeatures / JapaneseHotelRoomStyle 0..1 enum

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

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

  • western: ベッドを備えた洋風の部屋。
  • japanese: 布団を備えた和風の部屋。
  • japanese_western: ベッドと布団を備えた和洋室。
Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds 0..1 Object チャットルーム内の数だけ <Bed> を含めます。日本の布団はここではカウントされません。

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

  • size(省略可): 有効な値は singlesemi_doubledoublequeenking です。
<Bed> には次の子要素があります。
  • <Width>(省略可): ベッドの幅を指定します。 属性 unit には値 cm を、属性 number にはベッドの幅(整数 cm)を指定する必要があります。
  • <Length>(省略可): ベッドの長さを指定します。 属性 unit には値 cm を指定し、属性 number にはベッドの長さ(センチメートル単位)を指定します。
例:
<Beds>
  <Bed size="double">
    <Width unit="cm" number="140"/>
    <Length unit="cm" number="195"/>
  </Bed>
  <Bed/> <!-- Size unknown -->
</Beds>
Transaction / PropertyDataSet / RoomData / RoomFeatures / Suite 0.. enum この部屋がスイートの場合は、この要素を指定します。
Transaction / PropertyDataSet / RoomData / RoomFeatures / Capsule 0..1 enum カプセルルームの場合は、この要素を指定します。
Transaction / PropertyDataSet / RoomData / RoomFeatures / Roomsharing 0..1 enum この部屋が所有者や他のゲストなど、他の入居者と共有されているかどうか。有効な値は sharedprivate です。
Transaction / PropertyDataSet / RoomData / RoomFeatures / Outdoor 0..1 enum 壁、配管、空調が固定されていない屋外宿泊施設の場合は、この要素を指定します。たとえば、ホテルの客室は屋外宿泊施設ではありません。一方、宿泊客がテントに滞在するキャンプ場や RV 車を持ち込む RV パークは屋外宿泊施設です。
Transaction / PropertyDataSet / RoomData / RoomFeatures / MobileAccessible 0..1 enum バリアフリー対応の会議室の場合はこの要素を提供してください。
Transaction / PropertyDataSet / RoomData / RoomFeatures / Smoking 0..1 enum 禁煙ルームか喫煙ルームか。有効な値は non_smokingsmoking です。
Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet 0..1 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>
Transaction / PropertyDataSet / RoomData / RoomFeatures / OpenAirBath 0..1 enum この部屋に貸切露天風呂がある場合は、この要素を指定します。
Transaction / PropertyDataSet / RoomData / RoomFeatures / AirConditioning 0..1 enum この部屋にエアコンが備わっている場合は、この要素を指定します。
Transaction / PropertyDataSet / RoomData / RoomFeatures / Balcony 0..1 enum 客室にバルコニーまたはベランダがある場合は、この要素を提供します。
Transaction / PropertyDataSet / RoomData / RoomFeatures / Views 0..1 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/>

Transaction / PropertyDataSet / PackageData 0..n PackageData

物理的な客室の説明には含まれない、料金の特徴や条件を記述する要素のコンテナ。

注: <RoomData> または <PackageData> のうち少なくとも 1 つが必要です。

Transaction / PropertyDataSet / PackageData / PackageID 1 string これらのメッセージの PackageID は、OTA_HotelRateAmountNotifRQ メッセージと OTA_HotelAvailNotifRQ メッセージの RatePlanCode に対応しています。
Transaction / PropertyDataSet / PackageData / Name 1 Name 1 つ以上の言語のパッケージ名のコンテナ。
Transaction / PropertyDataSet / PackageData / Name / Text 1..n Text パッケージの名前を 1 つの言語で指定します。
Transaction / PropertyDataSet / PackageData / Name / Text / @text 1..n string language 属性で指定された言語のパッケージの名前。
Transaction / PropertyDataSet / PackageData / Description 1 Description 1 つ以上の言語で記述したパッケージの説明のコンテナ。
Transaction / PropertyDataSet / PackageData / Description / Text 1..n Text パッケージの説明を 1 つの言語で指定します。
Transaction / PropertyDataSet / PackageData / Description / Text / @text 1..n string language 属性で指定された言語でのパッケージの説明。
Transaction / PropertyDataSet / PackageData / Description / Text / @language 1..n string 2 文字の言語コード
Transaction / PropertyDataSet / PackageData / AllowableRoomIDs 0..1 AllowableRoomIDs <AllowableRoomID> 要素のコンテナ。

<AllowableRoomIDs> を指定した場合、親 <PackageData> 要素の <PackageID> で識別される料金プランは、<AllowableRoomID> 要素で定義された客室タイプとのみ組み合わせることができます。

<AllowableRoomIDs> が指定されていない場合、親 <PackageData> 要素の <PackageID> によって識別される料金プランを任意の客室タイプと組み合わせることができます。

<AllowablePackageIDs> または <AllowableRoomIDs> のいずれかを使用します。両方は使用できません。

Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID 1..n AllowableRoomID この料金プランと組み合わせることができる客室タイプの RoomID を指定します。客室タイプは <RoomData> 要素で定義します。
Transaction / PropertyDataSet / PackageData / Refundable 0..1 Refundable 全額払い戻し可能またはキャンセル可能として料金を掲載できるようにします。指定しない場合、払い戻しに関する情報は表示されません。

注: すべての属性を設定することをおすすめします。1 つ以上の属性が設定されていない場合、フィード ステータスの警告メッセージが生成されます。

属性を設定しない場合、料金は払い戻し可能として表示されません。

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

  • available または refundable_until_days が設定されていない場合、料金は払い戻し可能として表示されません。
  • available0 または false の場合、他の属性は無視されます。他の属性のいずれかまたは両方が設定されていても、料金は払い戻し可能として表示されません。
Transaction / PropertyDataSet / PackageData / Refundable / @available 1 boolean (必須)料金で全額払い戻しが可能かどうかを示すには 1 または true に設定します。それ以外の場合は 0 または false に設定します。
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days 0..1 integer availabletrue の場合は必須)全額払い戻しを請求できるチェックイン日の日数を指定します。refundable_until_days の値は 0 ~ 330 の整数にする必要があります。
Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time 0.. Time availabletrue の場合は強く推奨)全額払い戻しリクエストを承認する最終時刻をホテルの現地時間で指定します。これに refundable_until_days を組み合わせることで、たとえば「チェックインの 2 日前の午後 4 時まで払い戻しが可能」のように指定できます。refundable_until_time が設定されていない場合、値はデフォルトで午前 0 時に設定されます。
Transaction / PropertyDataSet / PackageData / BreakfastIncluded 0..1 boolean この部屋タイプに朝食が含まれるかどうかを指定します。 有効な値は 0(または false)と 1(または true)です。

<BreakfastIncluded> ではなく <Meals> を使用することをおすすめします。

Transaction / PropertyDataSet / PackageData / CheckinTime 0..1 Time ホテルの現地時間で可能な最も早いチェックイン時刻。時刻は 24:00 未満にする必要があります。
Transaction / PropertyDataSet / PackageData / CheckoutTime 0..1 Time 最も遅いチェックアウト時刻は、ホテルの現地時間です。
Transaction / PropertyDataSet / PackageData / InternetIncluded 0..1 boolean 客室で無料のインターネット接続を利用できるかどうかを指定します。他の客室にはこの設備が含まれていないかどうかを指定します。すべての客室で無料のインターネットを利用できるホテルでは、この要素を設定しないでください。この要素は、客室内の有線インターネットや客室では利用できないワイヤレス インターネットには適用されません。有効な値は 0(または false)と 1(または true)です。
Transaction / PropertyDataSet / PackageData / Meals 0..1 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 が true の場合にのみ使用されます。

食事フィルタ(no mealsbreakfast onlydinner onlybreakfast and dinner)を機能させるには、included 属性で <Breakfast><Dinner> の両方を指定する必要があります。

Transaction / PropertyDataSet / PackageData / ParkingIncluded 0..1 boolean 客室に無料の駐車場が含まれているか、または駐車場がホテルの有料サービスに該当するかどうか。無料駐車場を提供しているホテルの場合は、この要素の値を指定しないでください。有効な値は 0(または false)と 1(または true)です。デフォルト値は false です。
Transaction / PropertyDataSet / PackageData / PhotoURL 0..1 Object <RoomData><PhotoURL> と同じですが、パッケージ(食事の写真など)用です)。

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

Transaction(宿泊施設データ)メッセージで宿泊施設の客室とパッケージ データを定義する方法の基本的な例を以下に示します。overlay 属性は、予期せずすでにデータが存在する場合に、既存のデータをすべて削除して、このメッセージのデータに置き換えるために使用します。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-05-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Description>
        <Text text="Room with a king bed" language="en"/>
      </Description>
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a king bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <Description>
        <Text text="Standard rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <Description>
        <Text text="Free breakfast rate" language="en"/>
      </Description>
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

部屋のタイプを追加

既存の <Transaction> データに客室タイプとパッケージを追加する方法の例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-07-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_3</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_3</PackageID>
      <Name>
        <Text text="Non-Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="false"/>
    </PackageData>
  </PropertyDataSet>
</Transaction>

部屋タイプを削除する

既存の客室タイプとパッケージを削除する方法の例を次に示します。このシナリオでは、「部屋とパッケージのデータ」と「部屋タイプを追加」にあるメッセージが以前に Google に送信されていた場合、表示されたメッセージを Google が受信すると、KingDouble の部屋タイプは存在しなくなります。パッケージデータを削除すると、Transaction(宿泊施設データ)、OTA_HotelRateAmountNotifRQ、OTA_HotelAvailNotifRQ の各メッセージで定義されている料金プラン全体に影響します(同じ PackageID 値を参照するため)。そのため、PackageID_2PackageID_3 がここで定義されなくなったことを反映するには、他のメッセージ タイプを使用した更新が必要になることがあります。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-08-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
      <Capacity>2</Capacity>
      <PhotoURL>
        <URL>http://www.foo.com/static/bar/image.jpg</URL>
        <Caption>
          <Text text="Room with a queen bed" language="en"/>
        </Caption>
      </PhotoURL>
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Refundable" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>


料金プランを制限する

以下に、<AllowablePackageIDs> 要素を使用して、客室タイプで許可される料金プランを制限する方法の例を示します。この例では、Queen 客室タイプ(RoomID_2)は、PackageID_1 として識別されるパッケージおよび料金プランとのみ組み合わせることができます。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <RoomData>
      <RoomID>RoomID_2</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <AllowablePackageIDs>
        <AllowablePackageID>PackageID_1</AllowablePackageID>
      </AllowablePackageIDs>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
    <PackageData>
      <PackageID>PackageID_1</PackageID>
      <Name>
        <Text text="Standard" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>0</BreakfastIncluded>
    </PackageData>
    <PackageData>
      <PackageID>PackageID_2</PackageID>
      <Name>
        <Text text="Free Breakfast" language="en"/>
      </Name>
      <!-- Additional PackageData child elements omitted. -->
      <Refundable available="true" refundable_until_days="7" refundable_until_time="18:00:00"/>
      <BreakfastIncluded>1</BreakfastIncluded>
    </PackageData>
  </PropertyDataSet>
</Transaction>

会議室の収容人数を制限する

<Capacity><AdultCapacity><ChildCapacity> 要素を使用して客室収容人数の制限を設定する方法の例を次に示します。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2020-12-18T16:20:00-04:00"
             id="12345678"
             partner="partner_key">
  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>RoomID_1</RoomID>
      <Name>
        <Text text="Double" language="en"/>
      </Name>
      <Capacity>4</Capacity>
      <AdultCapacity>4</AdultCapacity>
      <ChildCapacity>3</ChildCapacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>
</Transaction>

ダブルルーム タイプ(RoomID_1)の定員は 4 名です。また、大人 4 名、子供 3 名まで宿泊可能です。この部屋を予約するには、3 つの収容人数の要件をすべて満たす必要があります。この構成は、2 人用のベッドが 2 台ある一般的な部屋を表しています。部屋には大人が 1 人以上いる必要があるため、子の収容人数は合計収容人数よりも 1 減ります。

<RoomFeatures> と食事を含む拡張例

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 台

double ベッド 2 台を備えた 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>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>


食事

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

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

レスポンス

構文

TransactionResponse (Property Data) メッセージの構文は次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="timestamp"
                     id="message_ID"
                     partner="partner_key">
  <!-- Either Success or Issues will be populated. -->
  <Success/>
  <Issues>
    <Issue code="issue_code" status="issue_type">issue_description</Issue>
  </Issues>
</TransactionResponse>

要素と属性

TransactionResponse (Property Data) メッセージには次の要素と属性があります。

要素 / @属性 発生回数 タイプ 説明
TransactionResponse 1 Complex element 受信したトランザクション リクエスト メッセージの成功または問題を示すルート要素。
TransactionResponse / @timestamp 1 DateTime このメッセージの作成日時。
TransactionResponse / @id 1 string 関連付けられたトランザクション メッセージから得られる一意の識別子。
TransactionResponse / @partner 1 string このメッセージのパートナー アカウント。
TransactionResponse / Success 0..1 Success Transaction メッセージが、警告、エラー、失敗なしに正常に処理されたことを示します。

各メッセージには、<Success> または <Issues> のいずれかが存在します。

TransactionResponse / Issues 0..1 Issues トランザクション メッセージの処理中に発生した 1 つ以上の問題のコンテナ。

各メッセージには、<Success> または <Issues> のいずれかが存在します。

TransactionResponse / Issues / Issue 1..n Issue トランザクション メッセージの処理中に発生した警告、エラー、失敗の説明。これらの問題について詳しくは、フィード ステータスのエラー メッセージをご覧ください。
TransactionResponse / Issues / Issue / @code 1 integer 問題の識別子。
TransactionResponse / Issues / Issue / @status 1 enum

発生した問題の種類。

有効な値は warningerrorfailure です。

完了

以下は、正常に処理されたトランザクション メッセージに対するレスポンスです。

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Success/>
</TransactionResponse>

問題

以下は、エラーのため処理されなかったトランザクション メッセージに対するレスポンスです。

<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Issues>
    <Issue code="1001" status="error">Example</Issue>
  </Issues>
</TransactionResponse>