複数部屋タイプ予約
1つの旅程で最大8つの客室タイプまたは料金タイプをご予約いただけます。
概要
Rapidパートナーは、Expedia Group's industry-leadingの在庫物件からさまざまな客室タイプや料金タイプにアクセスできます。マルチ・ルーム・タイプ機能は、旅行者が1つの旅程で最大8つの客室タイプまたは料金タイプを予約できるようにすることで、一緒に旅行するグループの予約を容易にし、予約とサービスのプロセスを簡素化します。例えば、キングルーム(朝食付き)とツインルーム(朝食なし)を予約したい場合。
仕組み
新しいlinks.price_check_multi_roomパラメータを使用すると、異なる占有率で複数の空室リクエストを行うことができます。
ショッピングパスの条件は、部屋タイプに対して行われる全ての空室検索で同じでなければなりません。これには、以下を含みます :
checkincheckoutcurrencycountry_codelanguageproperty_idsales_channelsales_environmenttravel_purposebilling_termspartner_point_of_salepayment_terms
ご注意: 返却された各客室には、それぞれ異なるrates,amenities,cancel_penalties,occupancy_pricing, totals. そのため、multi-roomタイプの予約の一部として複数の客室料金を選択した場合、どの客室にどの料金条件が適用されるのか混乱が生じないよう、それぞれの料金を明確かつ個別に旅行者に提示する必要があります。
統合プロセスフローとAPIの例
利用可能ステップ
links.price_check_multi_roomクエリパラメータを使用して、異なる部屋占有率で複数のAvailabilityリクエストを実行します。- 各レスポンスには、POST Price Checkリクエストを開始するために使用できるmulti-roomリンクが返されます。
リクエストの例 :
GET /v3/properties/availability?checkin=2027-09-09&checkout=2027-09-10&country_code=US¤cy=USD&language=en-US&property_id=19&rate_plan_count=250&sales_channel=website&sales_environment=hotel_only&occupancy=1&include=links.price_check_multi_room応答の例 :
[
{
"property_id": "19",
"status": "available",
"rooms": [
{
"id": "212410677",
"room_name": "Luxe Room",
"rates": [
{
"id": "236167773",
"status": "available",
"available_rooms": 22,
"refundable": true,
"member_deal_available": true,
"sale_scenario": {},
"merchant_of_record": "expedia",
"amenities": {},
"links": {
"payment_options": {}
},
"bed_groups": {
"37321": {
"id": "37321",
"description": "1 King Bed",
"links": {
"price_check": {
"method": "GET",
"href": "/v3/properties/19/rooms/212410677/rates/236167773?token=F~OjogZCQ0Nhky..."
}
},
"configuration": []
},
"37340": {
"id": "37340",
"description": "2 Queen Beds",
"links": {
"price_check": {
"method": "GET",
"href": "/v3/properties/19/rooms/212410677/rates/236167773?token=F~OjogZCQ0Nhky..."
}
},
"configuration": []
}
},
"cancel_penalties": [],
"occupancy_pricing": {}
}
]
}
],
"links": {
"price_check_multi_room": {
"method": "POST",
"href": "/v3/properties/19/rooms?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH"
}
},
"score": 603
}
]価格チェックステップ
- 部屋の占有率が異なる各Availabilityレスポンスについて、Price Checkリンクを抽出し、各部屋の
hrefコンテナの下のPOSTリクエストボディに含めます。各部屋にunique traveler_referenceを割り当て、個々の料金予約を区別します。 - 各部屋の空室状況を確認するため、価格確認リクエストを送信してください。レスポンスには予約リンクと次の予約リクエストに必要なセッショントークンが含まれます。
リクエストの例 :
POST /v3/properties/19/rooms?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH
"rooms": [
{
"traveler_reference": "King",
"href": "/v3/properties/19/rooms/200093863/rates/203299127?token=F~OjogZCQ0NhkyAQ9PYWUCZ202D2gCCVAMS1YAFAUNITJUAVQGGAldTgVUc2dhNXdkHVZTAAFXAVFUFABQC1QbBgAGVB4PVgUMGldQUgAGVlcPUgUHUT5BUVhQAwdUCwQVAQcEChpVBwIBGQZSUlkfVwEDUVMHAgtSBVoCVDJTA1EJAwRBNAADXQdCYlMNUwixOGJsYiOyYDlRp2A3B1FQAASvM29XFSldWwYRJFFXljNOa0pAFk8SBhMOQC5YW1R7VlNAG0ZFUEIEFgMRfw9bXhscQERNUF0XXUBJRggFGG7XYzBWUa8xZFYJTQUFhTBi0DU8lDYyvGE19jdk_jVnmGdlnjZHAVRRVAcBBQMUBAQCCEwMU1YDFQ4GAAdPBg1cUwcFAAwBAloA0zonBlUBBUwBBRpVVGcKVwxTDQsNVRoDUQ8CVlIFBVBq3zo2FwedYDIIe0iv"
},
{
"traveler_reference": "Queen",
"href": "/v3/properties/19/rooms/314008365/rates/380069275?token=F~OjogZCQ0NhkyAQ9PYWUCZ202D2gCCVAMS1YAFAUNITJUAVQGGAldTgVUc2dhNXdkHVZTAAFXAVFUFABQC1QbBgAGVB4PVgUMGldQUgAGVlcPUgUHUT5BUVhQAwdUCwQVAQcEChpVBwIBGQZSUlkfVwEDUVMHAgtSBVoCVDJTA1EJAwRBNAADXQdCYlMNUwixOGJsYiOyYDlRp2A3B1FQBgWvM2lUFTNBUARfRnZWUEHDMQA5GRQWGkFRQF8TZEZcVlkgUgAUFRoSXUNWFlwXaExVB1saHRESQVVeEFtAHBFfUE8512QyU1fyYjQDUR9TCdQ5Zd8yMJM1Z71nZ6dkOf1mNZRhM59hE1VQVFdYVVZWHAAJBg4bDAFTUE5bA10AHVQCW1dQAgENUgoBAdcxLlMBAQJJVQUVVwcyCwADUAAMUAgaV1YHBlcBUA0HO45nYEVVmWcyRag8NQ=="
}
]
}'応答の例 :
{
"rooms": [
{
"traveler_reference": "King",
"status": "available",
"available_rooms": 242,
"occupancy_pricing": {},
"cancel_penalties": []
},
{
"traveler_reference": "Queen",
"status": "available",
"available_rooms": 390,
"occupancy_pricing": {},
"cancel_penalties": []
}
],
"links": {
"book": {
"method": "POST",
"href": "/v3/itineraries?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH",
"body_token": "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"
}
}
}予約ステップの作成
- クエリパラメータとして予約リンクを使用して予約リクエストを構築し、リクエスト本文にセッショントークンを含めます。
- 各客室オブジェクトに対応する
traveler_reference、旅行者の予約詳細を入力し、リクエストを送信します。 - 成功すると、複数の部屋タイプの予約を表す単一の旅程IDが返されます。
リクエストの例 :
POST /v3/itineraries?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH
{
"rooms": [
{
"given_name": "",
"family_name": "",
"traveler_reference": "King"
},
{
"given_name": "",
"family_name": "",
"traveler_reference": "Queen"
}
],
"payments": [],
"body_token": "REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBBWlYJEAlBDiYRVAF9UAtSQVYHRlJwHFV2F1QEXVdVQkNXXVNMElAGQAd1RAQKABAHBkFXcRxXAkRaVwtnWQATAQVEACIdBlZTBAgCWApeA1YUBQtAASAWBAYUUhBcaVlXFQcBQQR5Q1AGUwAAC1gAAFAPRApTEFNxEVRRQFRBVzoSTBJREFMDQwdyEQBTY2UjLHIjMXURUFcUB3AcAQUDWgtDV0xEBgsWBycQCwsFUxsMABZRBhECJxcGV0MXC1EBOgZYAA1fBlURVwNGC3UdVgVVVQ9HAxBXVBJUe0BWBlkGX1cGRUMDVBEKJBBTAwdZCURTHQUAQFEhEgpWQgBRFlpWUQBZBB0LBkAAcUQDAUMWEFYdVARDC3IcVwZUCFdXCTxdVQ5SAEprDloJG2wCBARfQRYKVhwLI0ECU15QDhFdHVFUEgZwQwZWQUQSEQoMVBA5CgFDUAUSUSMXAgo_応答の例 :
{
"links": {
"retrieve": {
"method": "GET",
"href": "/v3/itineraries/9069459818327?token=REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBeUEsHC1UKTTtbAGxEXAZaFgAIJjlhfCZ9c0BEV1JTRUFfXVdqRA1BF1dRXERZQVxRGRQXW1oAHVVdXQVTFhZTVVITQQpWUzsVXVwPUFwCAFdVVgtIV1UGDhlSBgIPG1JSUgAeAA9ZUFYBBFFWW1FbFxFRFV0-QRhCUVsXQFRRWxEPWgxVWT5TFFtER1cTFlIXEUINDlRGPRZURkBQXFk9XgALAA9ZAwBVVVMYDl9UUxgMVFJVGQxSAgsZXQRXBFQGUwBWVVZdRUJRFkIKV1pnDVMOAQAFAAZcBAFLDQQABBlXB1RQGgcIUlAUXQYFAwcLAw5XAVRUQw8DWV8RUQJSXlFcHTdmR0tWQRdQVVxDUkcNAR5IFF8FXBxaDVFVDx5EEAxAVRFEHGddBQlUWxUVAAlWQWxdCk9REAteDF1fFl9QVxcDW2tcCFgdFFYHDwMXUBYDBzoSC1pSX1ACAg0dVQAYBQJjVlBHB3cFUx1WdFYBF1cPV1AIDQwDUGJARRRSQ1wIPEQRSxRbFVYLbCt-KitiLT5layNidyppYmFkZ3xldhZbUhZrF1VABEUFV1RZRwFDUVYQXkJHQTlbXwBTDmIyFQZZRA0FCQkLUwFAVg1UVFIMXV4BBgZTHlQAGwAKFkVSFkNWAxBrEUJcXwhVVD1RBQVUBVQCAVJFUUBHQAAIVhsJYDJ1QF5GRlsSVFgBFl8NDW5XDQFUCGZqchEPVhZdXEwIWl5sVw5UV1dVDggIF1ALUVdbC0dAWAFVUAdJVVwdUFMeBlxVDF1eVl1PBVlWEVcEA00VA1MPWQIWW0ETHFYMWkByDlFaDkYUXFwJVwQADwQDXFRT"
}
},
"itinerary_id": "7069459818327"
}End-to-endブッキングフロー

価格チェックでよくあるエラーとその解決策
| フィールド | タイプ | HTTPステータス | エラーメッセージ | 訂正 |
|---|---|---|---|---|
checkin | トークン | 400 | checkin。 | 同じショッピング体験を保証するために、すべてのトークンで同じでなければなりません。 |
checkout | トークン | 400 | checkout。 | 同じショッピング体験を保証するために、すべてのトークンで同じでなければなりません。 |
language | トークン | 400 | 製品は同じlanguage でなければなりません。 | 同じショッピング体験を保証するために、すべてのトークンで同じでなければなりません。 |
country_code | トークン | 400 | 製品は同じcountry_code でなければなりません。 | 同じショッピング体験を保証するために、すべてのトークンで同じでなければなりません。 |
currency | トークン | 400 | 製品は同じcurrency でなければなりません。 | 同じショッピング体験を保証するために、すべてのトークンで同じでなければなりません。 |
sales_channel | トークン | 400 | 製品は同じsales_channel でなければなりません。 | 同じショッピング体験を保証するために、すべてのトークンで同じでなければなりません。 |
sales_environment | トークン | 400 | 製品は同じsales_environment でなければなりません。 | 同じショッピング体験を保証するために、すべてのトークンで同じでなければなりません。 |
travel_purpose | トークン | 400 | 製品は同じtravel_purpose でなければなりません。 | 同じショッピング体験を保証するために、すべてのトークンで同じでなければなりません。 |
property_id | Href = "/stock/stock_detail.html? | 400 | 製品は同じproperty_id でなければなりません。 | hrefの施設IDは、POST パスのものと一致しなければなりません。 |
merchant_of_record | トークン | 400 | 製品は同じmerchant_of_record でなければなりません。 | ショップの対応の一部です。エクスペディアと 施設 コレクトの商品は混在できません。 |
occupancy | トークン | 400 | 入居者数は9人以下であること。 | すべてのhrefs で(トークン内の)占有率を合計し、8部屋を超えないようにします。 |
注: マルチルーム予約時に発生する可能性のあるその他の一般的なエラーの中には、クレジットカードや請求書の連絡先のエラーなど、ラピッドブッキング時に発生するエラーと同じものがあります。これらのエラーについてはRapid error handling を参照してください。
その他のリソース
すべての Rapid API エンドポイントを試してみたい場合でも、OpenAPI 仕様や Postman コレクションをダウンロードしたい場合でも、必要なリソースが用意されています。