Transaction(宿泊施設データ)メッセージ

概要

ARI Transaction(宿泊施設データ)メッセージでは、各宿泊施設の客室タイプとパッケージ(または料金プラン)に関する情報を定義します。各客室タイプデータには、一意の識別子(RoomID)、ローカライズされた名前、説明、客室の写真の URL が含まれます。各パッケージ データには、一意の識別子(PackageID)、ローカライズされた名前、説明、占有率、付加価値が含まれます。

トランザクション メッセージを使用すると、次のことができます。

  • 1 つ以上のプロパティのデータを定義します。
  • 各宿泊施設の客室タイプとパッケージの情報を定義します。
  • 商品提供を制御する。

また、次の操作を行うようにアクションを設定することもできます。

  • プロパティに客室タイプとパッケージを追加します。

  • 宿泊施設から客室タイプとパッケージを削除します。

  • パッケージまたはプロパティにポイント プログラムを追加します。

トランザクション メッセージの例については、トランザクション(宿泊施設データ)の例をご覧ください。

必須要素と省略可能な要素

XML リファレンスには、必須要素と省略可能な要素の説明が記載されています。属性と子要素の詳細については、Transaction(宿泊施設データ)の要素と属性をご覧ください。

構文とスキーマ

Transaction メッセージを作成する際は、Transaction(宿泊施設データ)の構文の例を参照して、正しい形式に沿って作成してください。

xmllint などのサードパーティ XML ツールを使用して、公開スキーマでフィードを検証してから Google に送信できます。トランザクション メッセージのスキーマについては、ホテル広告スキーマをご覧ください。

ガイドライン

Transaction メッセージには次のガイドラインを使用します。

アクション:

delta: 新しい部屋タイプとパッケージ(料金プラン)を追加または更新するために使用します。

overlay: プロパティのすべての部屋タイプとパッケージを新しいセットに置き換える場合に使用します。販売を継続するすべての客室タイプと料金プランの情報を含める必要があります。

言語のサポート:

[名前]、[説明]、[キャプション] の各フィールドに、1 ~ 2 つの言語(英語と、必要に応じて宿泊施設の現地語)を指定します。必要に応じて、3 つ以上の言語を追加できます。

客室タイプとパッケージ:

客室タイプまたはパッケージを更新する場合は、その客室タイプまたはパッケージに関連するすべての情報を送信する必要があります。たとえば、写真を追加する場合は、名前と説明も追加する必要があります。

<AllowablePackageIDs><AllowableRoomIDs> は省略可能です。設定されていない場合、客室タイプと料金プランの任意の組み合わせが可能です。客室タイプと料金プランの ID を使用して空室状況と料金を送信する必要があります。これらの要素を使用すると、プロダクトを制御したり、システムでサポートされなくなった組み合わせを無効にしたりできます。

客室タイプやパッケージに変更があった場合、または客室タイプやパッケージに関する重要な詳細情報を追加する必要がある場合は、Google に Transaction メッセージの更新を送信します。

ポイント:

特典プログラムをパッケージに含めるか除外するには、Google でポイント プログラムの設定を行います。この荷物に関連付けられている獲得ポイントが表示されます。詳しくは、ポイントをご覧ください。

<MilesIncluded> 要素を使用して、ポイント プログラム キャンペーンを定義または更新します。詳しくは、トランザクション(プロパティ データ)をご覧ください。ポイントは <PackageData> に含めることができます。

このセクションでは、必須要素と省略可能な要素を使用した ARI トランザクション メッセージの基本的な例を示します。客室タイプとパッケージを追加または更新するには、delta のアクションを使用して客室タイプとパッケージを追加または更新するか、overlay のアクションを使用してすべての客室タイプとパッケージの定義を置き換えます(古いエントリは削除されます)。

[名前]、[説明]、[キャプション] の各フィールドには、1 ~ 2 つの言語(英語と、必要に応じて宿泊施設の現地語)を指定する必要があります。次に、物件データ情報を追加します(写真へのリンクなど)。

<PropertyID><RoomID> には、料金プランと客室タイプ(それぞれ)に対してシステム内で使用している ID と同じ ID を使用します。Google に料金やデータが正しく表示されるようにするには、システムとの整合性が重要です。

ファイルを作成したら、次のエンドポイントに POST メッセージを送信して、Google にファイルを送信する必要があります。https://www.google.com/travel/hotels/uploads/property_data

メッセージを push/POST する方法については、メッセージの push をご覧ください。

次の例は、delta アクションを使用してトランザクション メッセージを設定する方法を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="202X-XX-XXT00:00:00-0X:00" id="12345678" partner="partner_key">
  <PropertyDataSet action="delta">
    <Property>PROPERTYID</Property>
      <RoomData>
        <RoomID>ROOMID</RoomID>
        <Name><Text text="ROOM NAME" language="en"/></Name>
        <Description>
          <Text text="ROOM DESCRIPTION TEXT" language="en"/>
        </Description>
        <Capacity>4</Capacity>
        <PhotoURL>
          <Caption><Text text="ROOM PHOTO CAPTION TEXT" language="en"/></Caption>
          <URL>https://LINK TO PHOTO</URL>
        </PhotoURL>
      </RoomData>
      <PackageData>
        <PackageID>BASE</PackageID>
        <Name><Text text="Internet Special" language="en"/></Name>
        <Description><Text text="Direct Booking through Hotel Website" language="en"/></Description>
        <Refundable available="true" refundable_until_days="2" refundable_until_time="12:00"/>
      </PackageData>
  </PropertyDataSet>
</Transaction>

overlay アクションの使用方法、既存の宿泊施設データへの客室タイプとパッケージの追加、既存の客室タイプとパッケージの削除など、その他の例については、Transaction(宿泊施設データ)の例をご覧ください。

入門ガイド

このセクションでは、トランザクション メッセージの送信時に発生する可能性のあるシナリオに対する解決策について説明します。

シナリオ 1: 客室タイプのデータを削除する方法

既存の客室タイプやパッケージのデータを削除するにはどうすればよいですか?

説明

宿泊施設にキングルームとクイーンルームを含む複数の客室タイプを送信しています。改装中はクイーンルーム タイプはすべてご利用いただけません。現在ご利用いただけるのはキングルーム タイプのみです。

解決策

  • 削除または無効化された客室タイプとパッケージ ID の 1 泊あたりの空室状況、料金、在庫を更新する必要はありません。
  • 客室タイプまたはパッケージが削除または無効化された場合は、action="overlay" を含む新しい Transaction メッセージを送信します。このメッセージには、有効な客室タイプとパッケージのみが含まれ、削除された客室タイプまたはパッケージは除外されます。

サンプル

この XML スニペットは、overlay アクションを使用して客室タイプを削除する方法を示しています。

以下は、キングルームとクイーンルームの客室タイプを含む元の delta アクションです。

  <PropertyDataSet action="delta">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</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>
    <RoomData>
      <RoomID>Queen</RoomID>
      <Name>
        <Text text="Queen" language="en"/>
      </Name>
      <Capacity>2</Capacity>
      <!-- Additional RoomData child elements omitted. -->
    </RoomData>
  </PropertyDataSet>

次に、overlay を設定して、クイーンルーム タイプを削除し、キングルーム タイプを保持できます。

  <PropertyDataSet action="overlay">
    <Property>Property_1</Property>
    <RoomData>
      <RoomID>King</RoomID>
      <Name>
        <Text text="King" language="en"/>
      </Name>
      <Capacity>2</Capacity>
    </RoomData>
    <PackageData>
      <PackageID>Standard</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>
  </PropertyDataSet>

シナリオ 2: AllowablePackageIDs を使用してプロダクトを制御する方法

パッケージが客室タイプ別にグループ化されている場合、プロダクト(客室タイプとパッケージの組み合わせ)を制御するにはどうすればよいですか?

説明

特定の客室タイプでのみ利用できる特定のパッケージがある。たとえば、プロパティに 4 つの客室タイプ(プレジデンシャル スイートを含む)と 6 つの異なるパッケージがあり、プレジデンシャル スイートの対象となるパッケージがごくわずかである場合は、対象となるパッケージを指定できます。

解決策

<AllowablePackageIDs> を使用して、パッケージに含まれる商品を特定する更新された Transaction メッセージを送信します。

サンプル

次の XML スニペットは、<AllowablePackageIDs> を使用して、特定の客室タイプで使用されるパッケージを指定する方法を示しています。この場合、ペントハウス スイートの客室タイプでは、ペントハウス オールインクルーシブ パッケージまたは無料朝食パッケージのみが許可され、キング スイートの客室タイプでは、キング オールインクルーシブ パッケージまたはペット可パッケージのみが許可されます。

<RoomData>
  <RoomID>penthouse_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>penthouse_all_inclusive</AllowablePackageID>
    <AllowablePackageID>free_breakfast</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<RoomData>
  <RoomID>king_suite</RoomID>
  <AllowablePackageIDs>
    <AllowablePackageID>king_all_inclusive</AllowablePackageID>
    <AllowablePackageID>pet_friendly</AllowablePackageID>
  </AllowablePackageIDs>
  <!-- Additional child elements omitted. -->
</RoomData>
<PackageData>
  <PackageID>penthouse_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>free_breakfast</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>king_all_inclusive</PackageID>
</PackageData>
<!-- Additional child elements omitted. -->
<PackageData>
  <PackageID>pet_friendly</PackageID>
</PackageData>

シナリオ 3: AllowableRoomIDs を使用してプロダクトを制御する方法

客室タイプがパッケージ別にグループ化されている場合、プロダクト(客室タイプとパッケージの組み合わせ)を制御するにはどうすればよいですか?

説明

客室タイプとパッケージの組み合わせが商品として販売されなくなった場合や、新しいパッケージに含まれる内容を管理したい場合。たとえば、オーシャン ビューのキングルームとクイーンルームのみをパッケージで指定する場合などです。

解決策

<AllowableRoomIDs> 要素を使用して、パッケージに含まれる正確な商品を指定する更新された Transaction メッセージを送信します。

サンプル

次の XML スニペットは、<AllowableRoomID> を使用して、パッケージでオーシャンビューのキングルームとクイーンルームの客室タイプを指定する方法を示しています。

<PackageID>RO</PackageID>
<AllowableRoomIDs>
  <AllowableRoomID>king_oceanview</AllowableRoomID>
  <AllowableRoomID>queen_oceanview</AllowableRoomID>
</AllowableRoomIDs>