リクエスト
構文
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>
      <!-- Add Loyalty point information -->
      <MilesIncluded>
        <LoyaltyCampaignID>campaign-ID</LoyaltyCampaignID>
        <!-- (Optional) Use <NumberOfMiles> if the rate plan earns fixed loyalty rewards-->
        <NumberOfMiles>integer</NumberOfMiles>
      </MilesIncluded>
      <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 実装では、これは 1 つの宿泊施設の客室タイプとパッケージを定義するメッセージのルート要素です。 | 
| Transaction / @timestamp | 1 | DateTime | このメッセージの作成日時。 | 
| Transaction / @id | 1 | string | このリクエスト メッセージの一意の識別子。この値はレスポンス メッセージ内で返されます。使用できる文字は、a ~ z、A ~ Z、0 ~ 9、_(アンダースコア)、-(ダッシュ)です。 | 
| Transaction / @partner | 1 | string | このメッセージのパートナー アカウント。この文字列の値は、Hotel Center の 
        [アカウント設定] ページに表示されている [パートナーキー] の値です。 注: 複数のアカウントのフィードを提供するバックエンドを使用している場合、この値は、同じアカウントの  | 
| Transaction / PropertyDataSet | 1.. | PropertyDataSet | 1 つの宿泊施設の客室タイプとパッケージを定義するためのコンテナ。 | 
| Transaction / PropertyDataSet / @action | 0..1 | enum | 客室料金の定義に適用される更新のタイプ。 指定できる値は次のとおりです。 
 この属性は省略可能で、指定しない場合のデフォルトは  | 
| Transaction / PropertyDataSet / Property | 1 | string | 宿泊施設の一意の識別子。この値は、ホテルリスト フィードの <listing>要素の<id>を使用して指定した HotelID と一致する必要があります。HotelID は Hotel Center にも表示されます。 | 
| Transaction / PropertyDataSet / RoomData | 0..n | RoomData | 客室を説明します。 注:  | 
| Transaction / PropertyDataSet / RoomData / RoomID | 1 | RoomID | 客室タイプの一意の識別子。この値は、 <OTA_HotelAvailNotifRQ>メッセージ、<OTA_HotelRateAmountNotifRQ>メッセージ、<OTA_HotelInvCountNotifRQ>メッセージの<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>要素のコンテナ。
 
 
 | 
| Transaction / PropertyDataSet / RoomData / AllowablePackageIDs / AllowablePackageID | 1..n | AllowablePackageID | この客室タイプと組み合わせ可能な料金プランの PackageID を指定します。料金プランは、パッケージ、料金、空室状況の組み合わせで定義されます。 PackageIDは、OTA_HotelRateAmountNotifRQ メッセージと OTA_HotelAvailNotifRQ メッセージのRatePlanCodeに対応します。 | 
| Transaction / PropertyDataSet / RoomData / Capacity | 0..1 | integer | 客室が物理的に収容できる大人と子どもの最大人数。これは、料金とともに送信する NumberOfGuestsの値以上である必要があります。
 注:  | 
| Transaction / PropertyDataSet / RoomData / AdultCapacity | 0..1 | integer | 客室が物理的に収容できる大人数の最大数。これは、料金とともに送信する NumberOfGuestsの値以上である必要があります。
 | 
| Transaction / PropertyDataSet / RoomData / ChildCapacity | 0..1 | integer | 客室が物理的に収容できる子どもの最大人数。 
 | 
| Transaction / PropertyDataSet / RoomData / OccupancySettings | 0..1 | OccupancySettings | 部屋の宿泊人数の要件を制限または変更できる設定。 
 
 <OccupancySettings> <MinOccupancy>2</MinOccupancy> <MinAge>16</MinAge> </OccupancySettings> すべての子要素を含める必要はありません。 | 
| Transaction / PropertyDataSet / RoomData / PhotoURL | 0..n | PhotoURL | 指定された客室または条件の組み合わせの写真の URL とキャプション(オプション)。1 つの客室または条件の組み合わせに複数の <PhotoURL>を指定できます。この要素では、次の子要素を使用します。 
 <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 | 日本のホテル客室のスタイルを示します。 指定できる値は次のとおりです。 
 | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / Beds | 0..1 | Object | 部屋の数と同じ数の <Bed>が含まれます。なお、ここでは日本の布団はカウントしないでください。各  
 <Bed>には次の子要素があります。
 <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 | この部屋をオーナーや他のゲストと共有しているかどうか。有効な値は sharedとprivateです。 | 
| 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_smokingとsmokingです。 | 
| Transaction / PropertyDataSet / RoomData / RoomFeatures / BathAndToilet | 0..1 | Object | 部屋の浴室とトイレに関する情報が含まれます。 属性は次のとおりです。 
 この要素には、必要に応じて次の子要素を使用できます。 
 例: <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 | 有効なオプションは次のとおりです。 
           | 
| Transaction / PropertyDataSet / PackageData | 0..n | PackageData | 客室についての物理的な説明には含まれていない、料金に関する設備や条件を記述する要素のコンテナ。 注:  | 
| 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>要素のコンテナ。
 
 
 | 
| Transaction / PropertyDataSet / PackageData / AllowableRoomIDs / AllowableRoomID | 1..n | AllowableRoomID | この料金プランと組み合わせ可能な客室タイプの RoomID を指定します。客室タイプは <RoomData>要素で定義されます。 | 
| Transaction / PropertyDataSet / PackageData / MilesIncluded | 0..1 | MilesIncluded | 料金プランまたはパッケージの定義に基づいて、パッケージにポイント プログラム情報を追加します。料金プランを定義する <PackageData>要素内に<MilesIncluded>要素を指定します。<MilesIncluded>には次の子要素があります。
 | 
| Transaction / PropertyDataSet / PackageData / Refundable | 0..1 | Refundable | 全額払い戻し可能またはキャンセル可能として料金を掲載できるようにします。指定しない場合、払い戻しについての情報は表示されません。 注: すべての属性を設定することをおすすめします。1 つ以上の属性が設定されていない場合、フィードのステータスに関する警告メッセージが表示されます。 属性を設定しないと、料金は払い戻し可能として表示されません。 属性を設定する際には、以下の点に注意してください。 
 | 
| Transaction / PropertyDataSet / PackageData / Refundable / @available | 1 | boolean | (必須)料金の全額払い戻しを受け付けていることを示す場合は 1またはtrueに設定し、受け付けていない場合は0またはfalseに設定します。 | 
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_days | 0..1 | integer | ( availableがtrueの場合は必須)全額払い戻しを要求できるチェックインまでの日数を指定します。refundable_until_daysの値は 0 ~ 330 の整数にする必要があります。 | 
| Transaction / PropertyDataSet / PackageData / Refundable / @refundable_until_time | 0.. | Time | ( availableがtrueの場合は強く推奨)全額払い戻しの要求が受け付けられる最も遅い時刻(ホテルの現地時間)を指定します。これはrefundable_until_daysと組み合わせて、たとえば「チェックインの 2 日前の午後 4 時までは払い戻しが可能」などの指定ができます。refundable_until_timeが設定されていない場合、値のデフォルトは午前 0 時です。 | 
| Transaction / PropertyDataSet / PackageData / BreakfastIncluded | 0..1 | boolean | この客室タイプに朝食が含まれるかどうかを指定します。
        有効な値は 0(またはfalse)と1(またはtrue)です。
 | 
| 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 | このパッケージの食事に関する情報が含まれます。 
 
 オプションの属性は、 食事フィルタ( | 
| 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>
      <MilesIncluded>
        <LoyaltyCampaignID>my_campaign</LoyaltyCampaignID>
      </MilesIncluded>
      <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 が下記のメッセージを受信した時点で、King と Double の客室タイプは存在しなくなります。パッケージ データを削除すると、Transaction(宿泊施設データ)、OTA_HotelRateAmountNotifRQ、OTA_HotelAvailNotifRQ メッセージで定義されている料金プラン全体に影響します(同じ PackageID 値を参照するため)。そのため、PackageID_2 と PackageID_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 台
以下は、2 つの double ベッドがある 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 | 受信した Transaction 要求メッセージの成功または問題を示すルート要素。 | 
| TransactionResponse / @timestamp | 1 | DateTime | このメッセージの作成日時。 | 
| TransactionResponse / @id | 1 | string | 関連する Transaction メッセージから得られる一意の識別子。 | 
| TransactionResponse / @partner | 1 | string | このメッセージのパートナー アカウント。 | 
| TransactionResponse / Success | 0..1 | Success | Transaction メッセージが正常に(警告、エラー、失敗が発生せずに)処理されたことを示します。 各メッセージには、 | 
| TransactionResponse / Issues | 0..1 | Issues | Transaction メッセージの処理中に発生した 1 つ以上の問題のコンテナ。 各メッセージには、 | 
| TransactionResponse / Issues / Issue | 1..n | Issue | Transaction メッセージの処理中に発生した警告、エラー、または失敗の説明。これらの問題の詳細については、フィード ステータスのエラー メッセージをご覧ください。 | 
| TransactionResponse / Issues / Issue / @code | 1 | integer | 問題の識別子。 | 
| TransactionResponse / Issues / Issue / @status | 1 | enum | 発生した問題の種類。 有効な値は  | 
例
成功
以下は、正常に処理された Transaction メッセージに対するレスポンスです。
<?xml version="1.0" encoding="UTF-8"?>
<TransactionResponse timestamp="2020-05-18T16:20:00-04:00"
                     id="12345678"
                     partner="partner_key">
  <Success/>
</TransactionResponse>
問題
以下は、エラーのため処理されなかった Transaction メッセージに対するレスポンスです。
<?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>