Share via


トランザクション メッセージを作成する

ホテルの価格と可用性データBing提供するには、トランザクション メッセージを含む XML ドキュメントを作成します。 トランザクション メッセージには、チェックイン日、滞在期間、価格の一覧が含まれています。

トランザクション メッセージには最大 180 日間の高度な予約が含まれる場合があり、各予約には最大 14 泊の滞在が指定される場合があります。 チェックイン日と滞在期間は旅程と呼ばれます。 旅程の最大数を指定すると、メッセージには 2,520 個の旅程が含まれます。

トランザクション メッセージは、100 MB の非圧縮データまたは 10 MB の圧縮データ (GZip 圧縮を使用) に制限されます。 ネットワーク トラフィックを減らすには、圧縮されたデータを送信する必要があります。

トランザクション メッセージには、追加または更新しているスケジュールのみが含まれている必要があります。最後にメッセージを送信した後に変更されていないスケジュールは含めないでください。

ドキュメントでは UTF-8 エンコードを使用する必要があり、 Transaction XSD に準拠している必要があります。

重要

ホテル価格広告のすべてのポリシーを読み、従う必要があります。 ポリシーの一覧については、「 パイロット プログラム ポリシー」を参照してください。

注:

Bingでは、すべての Transaction XSD 要素がサポートされているわけではありません。 Bingは、サポートされていないメッセージ内の要素または属性を無視します。 トランザクション メッセージリファレンスには、Bingがサポートする要素と属性のみが含まれています。

注:

メッセージは、Transaction XSD で定義された順序で (または参照に示されているように) 要素を指定する必要があります。

最上位の Transaction 要素

トランザクション メッセージには、最上位レベルの Transaction 要素が 1 つ含まれています。

<Transaction timestamp="2017-05-25T20:44:56-04:00" id="de0be689-d094-406e-
8027-724309deb373">

属性と id 属性をtimestamp指定する必要があります。

属性は timestamp 、メッセージを送信する時刻を識別する必要があります。 Bingでは、タイム スタンプを使用して、最新の旅程のみが処理されるようにします。 たとえば、タイム スタンプが 14:10 のメッセージを処理し、タイム スタンプが 14:09 のメッセージを処理Bing場合、Bingは 14:10 メッセージに含まれていない 14:09 メッセージのスケジュールのみを処理します。

属性は id 、広告主へのメッセージを一意に識別するユーザー定義 ID です。 広告主は ID を使用して、ホテルフィードの状態レポートの一覧のメッセージを識別します。

スケジュールの一覧を指定する

要素には TransactionResult 要素のリストが含まれています。定義するスケジュールごとに 1 つ。 メッセージには、新しいスケジュールまたは変更されたスケジュールのみを含める必要があります。

次に、必要な Result 子要素を指定する要素を示します。

  <Result>
    <Property>13579</Property>
    <Checkin>2017-06-10</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
  </Result>

ID は Property 、ホテル フィード ファイル内のプロパティの ID と一致する必要があります。 日付は Checkin 90 日間の事前予約期間内で Nights 、1 ~ 14 の範囲である必要があります。

Baserate 、夜間の宿泊料金ではなく、滞在期間全体のコストを指定します。

5 日間の高度な予約と最大 3 泊の滞在を許可する場合、メッセージには 15 Result 個の要素が含まれます。 次の例は、1 日分の旅程を示しています。

<?xml version="1.0" encoding="UTF-8"?>
<Transaction timestamp="2017-05-25T20:44:56-04:00" id="de0be689-d094-406e-
8027-724309deb373">
  <Result>
    <Property>13579</Property>
    <Checkin>2017-05-26</Checkin>
    <Nights>1</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="mobile"/>
      <PointOfSale id="desktop"/>
    </AllowablePointsOfSale>
  </Result>
  <Result>
    <Property>13579</Property>
    <Checkin>2017-05-26</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="mobile"/>
      <PointOfSale id="desktop"/>
    </AllowablePointsOfSale>
  </Result>
  <Result>
    <Property>13579</Property>
    <Checkin>2017-05-26</Checkin>
    <Nights>3</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
    <AllowablePointsOfSale>
      <PointOfSale id="mobile"/>
      <PointOfSale id="desktop"/>
    </AllowablePointsOfSale>
  </Result>
</Transaction>

15 のスケジュールを定義した後、後続の各メッセージには変更された旅程のみが含まれます。 たとえば、価格や可用性の変更などです。

旅程の削除

旅程を削除するには、その Baserate要素 Tax、、および OtherFees 要素を -1.00 に設定します。 Bingは、過去のチェックイン日を含む旅程を自動的に削除します。

省略可能な Result 要素の使用

次に、省略可能な Result 子要素を含む要素を示します。

  <Result>
    <Property>13579</Property>
    <Checkin>2017-05-26</Checkin>
    <Nights>2</Nights>
    <Baserate currency="USD">159.99</Baserate>
    <Tax currency="USD">20.00</Tax>
    <OtherFees currency="USD">4.00</OtherFees>
    <ExpirationTimestamp>2017-05-28T09:00:34Z</ExpirationTimestamp>
    <ChargeCurrency>deposit</ChargeCurrency>
    <Custom1>summer2017</Custom1>
    <AllowablePointsOfSale>
      <PointOfSale id="mobile"/>
      <PointOfSale id="desktop"/>
    </AllowablePointsOfSale>
  </Result>

を使用して ExpirationTimestamp 、旅程の有効期限を指定します。 たとえば、ケース 1 では、旅程が提供されます。

ケース 1:

Today = 2018 年 3 月 16 日
CheckInDate = 2018 年 4 月 1 日
ExpirationTimestamp = 2018 年 3 月 20 日

ただし、ケース 2 では、旅程は提供されません。

ケース 2:

Today = 2018 年 3 月 21 日
CheckInDate = 2018 年 4 月 1 日
ExpirationTime = 2018 年 3 月 20 日

要素を ChargeCurrency 使用して、ユーザーが予約に対して課金されるタイミングを指定します。 既定では、ユーザーは予約時に支払います (これは Web オプションです)。 この例では、予約時に一部を支払い、残りの部分を後で支払うようにユーザーに求めるデポジットを使用します (チェックアウト時など)。

販売時点管理 (POS) URL の動的パラメーターの置換値を提供するには、5 つの Custom 要素のうちの 1 つ以上を使用します。 たとえば、POS URL が https://www.partnerdomain.com?promo=(CUSTOM1)Custom1 であり、summer2017 に設定されている場合、使用Bing POS URL は https://www.partnerdomain.com?promo=summer2017. 詳細については、「 動的クエリ パラメーターの使用」を参照してください。

すべての Custom[1-5] 値の合計は最大 1,000 文字に制限されますが、実際の制限は URL の最大長を超える可能性があることに注意してください。

要素を AllowablePointsOfSale 使用して、ユーザーが予約に使用できる特定の POS URL を指定します。 既定では、ユーザーはパートナーの販売ポイント フィード ファイル内の任意の POS を使用できます。 属性は id 、フィード ファイル内の POS と一致する必要があります。

次の手順

トランザクション メッセージを送信する前に、ホテルのフィード ファイルと販売時点管理ファイルが最新の状態であることを確認してください。 これらのファイルを更新するには、TAM にお問い合わせください。 TAM がデータをBingにインポートした後、トランザクション メッセージの送信を開始できます。 データがインポートされる前に送信されたトランザクション メッセージは失敗します。

トランザクション メッセージをBingに送信する前に検証します。 詳細については、「 トランザクション メッセージの検証」を参照してください。

トランザクション メッセージBing送信する方法については、「トランザクション メッセージをBingにプッシュする」 または「トランザクション メッセージBing プルする」を参照してください。

旅程にルーム バンドルを追加する方法については、「 メタデータ トランザクション メッセージの作成 」および「 会議室バンドルの使用」を参照してください。