Developer Hub
これは自動生成された翻訳です。

ショッピング

Shopping API を使用して、世界中の 700,000 か所の施設の最新の料金と空室状況にアクセスできます。

概要

指定した施設 (1 回のリクエストで最大 250 施設) のすべての客室タイプの料金と空室状況が Shopping API から返されます。応答には、プロモーション、料金が払い戻し可能かどうか、キャンセル料金、該当する市場での料金表示条件を満たす完全な料金内訳など、料金に関する詳細が表示されます。

occupancy パラメータのインスタンスを複数組み込む形で、同じタイプの客室を複数リクエストすることもできます。同じリクエストで同じ定員が複数回リクエストされた場合、応答にはその定員の 1 つの料金セットのみが含まれます。最大 8 部屋までを一度にリクエストできます。一度に8室以上をご予約される場合は、アカウントマネージャー までご連絡ください。現在、団体予約の拡充に取り組んでおります。お客様のご要望をお聞かせいただければ、今後の改善に役立てることができます。

価格表示に関する変更

一部の管轄区域では、旅行者に対する料金の表示方法を義務付ける法律が施行されています。各法律には若干の違いがありますが、当社が変更を実施した方法により、個々の状況に応じたコンプライアンス対応が可能となります。

価格表示に関する規制の例としては、以下が挙げられますが、これらに限定されるものではありません:

なぜ変更されたのでしょうか?

Expedia Group APIパートナーが価格をさまざまな方法で表示できるよう、APIに変更を加えました。ただし、最終的には、Expedia Group's APIをご利用の各パートナーが、エクスペディアの旅行情報および料金の表示方法が法令に準拠していることを確認する責任を負います。

どのような変更点がありますか?

エクスペディアは、「Rapid API」を改良し、基本料金に加え、滞在期間全体にかかるエクスペディアおよび施設が徴収するすべての手数料と税金を含んだ合計金額を記載する新しいフィールド「property_inclusive」を追加しました。この合計金額の取り消し線付きバージョンも、新しいフィールドでご確認いただけますproperty_inclusive_strikethrough。新しい 施設 インクルーシブ表示フィールドに加え、APIレスポンスにおける税金および手数料の内訳表示方法を再編成いたしました。エクスペディアが徴収するすべての手数料は、「1泊および滞在」の「property_fee」価格内訳タイプに含まれ、エクスペディアが徴収するすべての税金は、「1泊および滞在」の「tax_and_service_fee」価格内訳タイプに含まれます。

Expedia Collect (事前決済) の料金については、billable_currency およびproperty_inclusive の各フィールドに記載されている「property_inclusive_strikethrough」は、サプライヤーとのExpedia Group's契約で指定された通貨で表示されます。通常、これは 施設 の現地通貨となります。これは、request_currency にかかわらず適用されます。というのも、property_inclusive およびproperty_inclusive_strikethrough の各項目には、施設 で現地通貨建てで徴収された手数料が含まれている可能性があるためです。この動作は、inclusive およびinclusive_strikethrough のフィールドとは異なります。これらのフィールドでは、Expedia Collect (事前決済)のレートに対するbillable_currency は、request_currency と同じになります。

「Shop」レスポンスに含まれる 施設 の集計額は、「Content」レスポンスに表示されている金額とはグループ分けが異なる場合があります。合計は依然として正しく一致するはずです。

これはすべての物件に適用された全社的な変更となります。変更に関するご質問がございましたら、アカウントマネージャー までお問い合わせください。

ロイヤルティポイント

エクスペディアのビジネスレートプログラムに参加しているロイヤルティプログラムがある宿泊施設では、宿泊でホテルのロイヤルティポイントが貯まる機会をビジネス旅行者に提供しています。パートナーは Shopping 応答の amenities ノードを使用することで、旅行者から会員情報を取得する前にロイヤルティの対象となるかどうかを確認し、対象となるかどうかを表示できます。

Shopping API リクエストで loyalty 値フィルターを使用することで、ロイヤルティ対象のビジネスレートに絞って検索することもできます。

注 : ホテルに以前からロイヤルティプログラムがある場合に限り、ビジネスレートでもロイヤルティポイントを獲得できます。

例 :

ロイヤルティポイントの対象となるホテルビジネスレートには、検索の応答の amenities ノードの下に以下のパラメーターがあります。

{
  "id": "2096",
  "name": "Eligible for hotel loyalty points"
}

コミッションインセンティブ

Rapid API パートナーは、指定された宿泊予約日や滞在期間に対して宿泊施設のマージンがより高くなる追加のコミッション インセンティブを利用できます。有効なコミッション インセンティブを提供する宿泊施設を特定するには、Rapid Shopping API リクエストの include パラメーターで rooms.rates.marketing_fee_incentives の値を使用してください。リクエストされた滞在期間のすべてまたは一部にコミッション インセンティブが提供される料金には、Shopping API レスポンスの marketing_fee_incentives オブジェクトにインセンティブの提供元や影響を受ける宿泊部分などの追加の詳細情報が含まれています。在庫の並べ替えと選定プロセスで、この内容と既存のmarketing_fee フィールド、つまり利用可能なすべてのインセンティブを含むマーケティング手数料の概算について検討することができます。

宿泊施設 19248 は、12 月の宿泊に高いマージンを提供しています。12月22日から1月5日までの宿泊について、施設19248に対するショッピングAPIリクエストを行ってください。Shopping APIのレスポンスに含まれるmarketing_fee_incentives オブジェクトでは、12月22日から12月31日までの滞在期間の一部(14泊のうち10泊)について、インセンティブが適用可能であることが確認できます。

リクエストの例

curl -X GET "https://test.ean.com/v3/properties/availability\
?checkin=2026-12-22\
&checkout=2027-01-05\
&currency=USD\
&country_code=US\
&language=en-US\
&occupancy=2\
&property_id=19248\
&rate_plan_count=1\
&sales_channel=website\
&sales_environment=hotel_only\
&include=rooms.rates.marketing_fee_incentives\
&travel_purpose=leisure" \
 -H "accept: application/json, application/json"\
 -H "accept-encoding: gzip"\
 -H "authorization: EAN apikey=abcd1234,signature=090a77e7ddd7779980231,timestamp=1697664047"\
 -H "user-agent: TravelNow/3.30.112"

レスポンスの例

[
  {
    "property_id": "19248",
    "rooms": [
      {
        "id": "123abc",
        "room_name": "Fancy Queen Room",
        "rates": [
          {
            "id": "333abc",
            ...
            "marketing_fee_incentives": [
              {
                "source": "property",
                "start": "2026-12-22",
                "end": "2027-12-31"
              }
            ],
            "occupancy_pricing": {
              "2": {
                "nightly": [ ... ],
                "stay": [ ... ],
                "totals": {
                  "inclusive": { ... },
                  "exclusive": { ... },
                  "inclusive_strikethrough": { ... },
                  "strikethrough": { ... },
                  "marketing_fee": {
                    "billable_currency": {
                      "value": "276.36",
                      "currency": "USD"
                    },
                    "request_currency": {
                      "value": "276.36",
                      "currency": "USD"
                    }
                  },
                  "gross_profit": { ... },
                  "minimum_selling_price": { ... },
                  "property_fees": { ... }
                },
                "fees": { ... }
              }
            }
          }
        ]
      }
    ]
  }
]

旅行の目的

travel_purposeパラメータを使用すると、旅行者を「ビジネス」または「レジャー」として指定することができます。Rapidのすべてのパートナー様は、「travel_purpose」パラメータをご利用いただくことで、宿泊施設が法人旅行者をより的確に識別し、適切なサービスを提供できるよう支援できます。

事業用固定資産税の請求対象となるパートナーの皆様は、Shopリクエストにおいてtravel_purpose=business を使用することで、Shopレスポンスで事業用固定資産税を受け取ることができます。リクエストに travel_purpose パラメータが指定されていない場合はレジャーとみなされ、ビジネス料金は返されません。

Availability API リクエストに 24 文字追加するだけで、お客様がビジネス目的で旅行する意向であることを簡単に指定できます。

&travel_purpose=business

マーチャンダイジング

マーチャンダイジングのフローに対応し、Merchandising APIとの統合を円滑に行うため、Shopping APIに変更を加えました。パートナーの皆様は、「Rapid Shopping Availability」エンドポイントで利用可能な新しい「deal」フィルターを使用することで、現在実施中のプロモーションが適用された料金のみを受け取ることができます。これにより、パートナー様は、商品展開のみに焦点を当てたショッピングリクエストを作成する柔軟性が得られ、返されるすべてのレートに「deal」属性が含まれていることを確実にすることができます。

>> マーチャンダイジングAPIの詳細はこちら

取消線でお得感をアピールした料金表示

strikethrough フィールドには、ホテルが資金提供する割引が適用される前の税抜合計金額が表示されます。通常は検索結果に税金や手数料を含まない基本価格を表示する、米国などのロケールでこのフィールドを使用する必要があります。

inclusive_strikethrough フィールドには、税金と手数料を含む、割引前の合計金額が表示されます。オールインクルーシブ価格 (基本価格、税金、手数料) を表示するロケールに適用される割引をより明確に表示できるようにこのフィールドは設計されています。このフィールドは、請求可能な通貨とリクエストされた通貨の両方で値を返します。

[
  {
    "property_id": "19248",
    "rooms": [
      {
        "id": "123abc",
        "room_name": "Fancy Queen Room",
        "rates": [
          {
            "id": "333abc",
            ...
            "occupancy_pricing": {
              "2": {
                "nightly": [ ... ],
                "stay": [ ... ],
                "totals": {
                  "inclusive": { ... },
                  "exclusive": { ... },
                  "inclusive_strikethrough": {
                    "billable_currency": {
                      "value": "726.63",
                      "currency": "CAD"
                    },
                    "request_currency": {
                      "value": "549.60",
                      "currency": "USD"
                    }
                  },
                  "strikethrough": {
                    "billable_currency": {
                      "value": "650.00",
                      "currency": "CAD"
                    },
                    "request_currency": {
                      "value": "491.64",
                      "currency": "USD"
                    }
                  },
                  "marketing_fee": { ... },
                  "gross_profit": { ... },
                  "minimum_selling_price": { ... },
                  "property_fees": { ... }
                },
                "fees": { ... }
              }
            }
          }
        ]
      }
    ]
  }
]

プロモーションおよび割引価格の表示

Availability API と Price Check API で提供されるプロモーションや取り消し線に基づいて割引された額を表示する場合、販売拠点によっては、通常料金 (つまり、割引の計算に使用される料金) についての詳細を示す必要があります。使用する表現については以下の文を参照してください。

EU : 通常料金の詳細を明確に示します (例 : 「この料金は、検索内容に基づき施設によって示された通常料金です」)。

イタリア : 次の表現を使用します : “Questo prezzo è basato sulla tariffa generalmente applicabile fornita dalla struttura per questa camera e per queste date”。

返金条件

current_refundability」フィールドを使用することで、パートナーはすべての払い戻しオプションを表示できるようになり、旅行者には料金の透明性と柔軟性の向上がもたらされます。

3つの選択肢は以下の通りです:

  • refundable
  • non_refundable
  • partially_refundable

「一部返金可能」とはどういう意味ですか?

「一部返金可能」とは、キャンセル料が0より大きく、予約総額より小さい料金プランを指します。および/または には、滞在期間内にnon-refundableの日付範囲が設定されています。

>> キャンセル料について詳しくはこちら

current_refundabilityフィールドを活用することは、返金可能を示すブール値フラグを単独で使用するよりも、どのような点で優れているのでしょうか?

refundableというブール値フラグは、料金が全額払い戻し可能かどうかを示すものですが、一部払い戻し可能な料金の場合にはfalse という結果が返されるため、旅行者にとって誤解を招く恐れがあります。「current_refundability」フィールドでは、より詳細なオプションが用意されており、料金の払い戻し可否に関するより正確な情報を提供します。

パートナーは、Shopのレスポンス内で「current_refundability」フィールドをどのように取得すればよいでしょうか?

パートナー様は、Shopリクエスト内のcurrent_refundability パラメータの下にあるinclude フィールドをリクエストする必要があります。

"property_id": "23060",
  "status": "available".
  "rates": [
    {
      "id": "201392692",
      "status": "available",
      ...
      ...
      ...
      ...
      "current_refundability": partially_refundable,
      "cancel_penalties":[
        {
          "start": "2027-10-08T23:59:00.000+02:00",
          "end": "2027-10-09T23:59:00.000+02:00",
          "nights":"1",
          "currency": "EUR"
        }
      ]
    }
  ]

利用不可理由

unavailable_reason 機能を使用すると、設定された滞在 (滞在期間と宿泊者数) で宿泊施設が完全に利用できない理由に関する実用的な情報をリクエストできます。この情報を応答で受け取るには、ショッピング時にオプションのリクエストパラメーター include=unavailable_reason を含める必要があります。ただし、利用できないすべての宿泊施設に、予約できないことに関する不適切な理由があるわけではありません。これらの宿泊施設は応答では返されません。

ショップ応答には、空室がある宿泊施設とそうでない宿泊施設が混在する場合があります。利用できない宿泊施設には property_idscoreunavailable_reason セクションが含まれます。このセクションには、利用できない宿泊施設に関する簡単な説明 (英語) がある code と、宿泊施設 / 客室 / 料金プランを利用可能にするためにリクエストで調整できる追加情報の data が含まれます。たとえば、unavailable_reason codeadults_exceed_threshold の場合、data 内の 2 は、その客室 / 料金で許可される最大人数が大人 2 名であることを意味し、宿泊者数が 2 名を超える場合はエラーが返されます。

注 : 宿泊施設には複数の制限を適用できますが、返される unavailable_reason は 1 つだけです。

[
  {
    "property_id": "824739",
    "score": 12345,
    "unavailable_reason": {
      "code": "adults_exceed_threshold",
      "data": "2"
    }
  }
]

>> 返されたコードの完全な一覧をご覧ください

設備 / サービスフィルター

必要に応じて、amenity_category リクエストパラメータと 1 つ以上の特定の設備 / サービスを使用して、Rapid Shop 応答で返された宿泊施設を絞り込むことができます。応答を絞り込む際に使用できるアメニティの一覧については、コンテンツ参照リストの「アメニティカテゴリ」のセクションをご参照ください。

>> コンテンツの参照リストをご確認ください

単一の設備 / サービスフィルター :

&amenity_category=free_breakfast

複数の設備 / サービスフィルター :

&amenity_category=free_breakfast&amenity_category=free_airport_transfer&amenity_category=casino

レート制限

トラフィックの最適化は、パートナーにレート制限を適用することによって実現します。これらのレート制限により、安定した保守可能なサービスをパートナーに継続的に提供できると同時に、Expedia Group システムの効率的な使用を確保できます。ショップのトラフィックの場合、負荷を決定する重要な要素は、各リクエストで検索される宿泊施設の数、客室の数、滞在期間です。

>> レート制限について詳しくはこちら

Price Check

Shop の応答で返された料金を確定します。予約を行う前にこの API を使用して、以前に選択した料金が現在も有効であることを確認します。料金が一致する場合、応答には予約をリクエストするためのリンクが返されます。料金が変更されている場合、応答には新たな料金の詳細とその新料金での予約リンクが返されます。料金が適用されなくなった場合は別の料金で再度検索するよう、応答には新たなショップリクエストのリンクが返されます。

PriceCheckに表示される「totals.property_fees」および「fees」の請求額は、前回のShopからの回答と比較して、約0.1%(1室あたり × 1名あたり × 1泊あたり)のわずかな変動が生じる場合がございます。この変動には、金額がゼロに調整されるケースも含まれる可能性があります。施設 で支払うべき手数料の不一致は、Expedia Collect (事前決済) の料金について、request_currencybillable_currency が異なる場合に生じます。この不一致により、API関数に影響が生じることはありません。

Hold と Resume 機能

一部の在庫については、「保留・再開」の対象外となります。「保留」および「再開」機能をご利用のパートナー様は、non-holdableの料金体系のショッピング指標を採用することで、これらの段階的な料金をご利用いただけます。

>>「保留」と「再開」について詳しくはこちら

支払いオプション

エクスペディアが最終旅行者から直接支払いを受け付ける場合(EPS MOR)に、利用可能な支払い方法を返します。この API を使用して支払いページを開き、有効な支払いフォームを表示して、予約をスムーズに進めることができます。

重要な注意事項

  • language2桁の言語コードと国コードをハイフンでつなげた組み合わせのみを使用しています。

>> 対応言語の一覧をご覧ください

  • 2桁のcountry コードは、旅行者の販売拠点を指定するものであり、地域化されたコンテンツには影響しません。
  • 静的データ (名称、星評価、地理情報など) は返されません。空室状況と料金に関連したデータのみが提供されます。
  • トークン化されたリクエストリンクは短期間で失効します。トークンリンクが HTTP 503 エラーを返す場合、リンクが失効している可能性があります。ショップの応答を更新して新たな料金チェックまたはデポジットのリンクを取得し、再度お試しください。長期の使用を目的として、リンクの値を保存しないでください。
  • Rapid API では、施設のコンテンツをいつでも更新できます。最新の情報をお客様にお伝えするようお願いいたします。Shop API で、空室状況と料金についてできる限り最新の情報を提供できます。このレスポンスには含まれていない、property-level, room-level, およびrate-levelに関する追加情報を取得するには、当社の 施設 コンテンツAPIをご利用ください。
    >> 施設 コンテンツAPIについて詳しくはこちら
  • API では 1 部屋にのみ基づいて料金を提示します。複数の客室を予約する場合は、追加の計算を自分で行う必要があります。リリース要件の一環として、貴社の連携システムでは、予約プロセスの特定の段階で、エンドユーザーに対して詳細な料金内訳を表示する必要があります。
    >> 詳細については、当社のセキュアなパートナーサイトをご覧ください

>> テストリクエストの実行方法をご覧ください

変動する税金および手数料

ご予約の時点で算出できないため、合計金額に含まれていない必須の税金や手数料がある場合があります。例えば、in-stayの活動内容によって変動する料金や、日本やコロンビアなど一部の市場における変動する宿泊税などが挙げられます。これらの変動する税金や手数料の算出方法に関する情報は、コンテンツAPIで公開される予定です。この情報は、旅行者の目にすぐ留まるように表示されるべきです。

API の詳細

このページでショッピング関連のエンドポイント定義を調べてから、API Explorer または別のテストソフトウェアを使用して、例とスキーマ定義が実際の出力とどのように比較されるかを理解します。


その他のリソース

すべての Rapid API エンドポイントを試してみたい場合でも、OpenAPI 仕様や Postman コレクションをダウンロードしたい場合でも、必要なリソースが用意されています。



このページは役に立ちましたか ?
このコンテンツに改善が必要な点があれば、
サービス向上にご協力いただきありがとうございます。