簡介
允許旅客在單一行程中預訂最多八種客房或費率類型
Rapid 的合作夥伴可透過 Expedia Group's industry-leading 的房源庫,存取各式各樣的客房及費率類型。「客房」多類型功能讓同行團體能更輕鬆地預訂行程,旅客可在單一行程中預訂多達八種客房或費率類型,從而簡化預訂與服務流程。例如,一位旅客希望預訂一間附早餐的大床房客房以及一間不附早餐的雙床房客房。
運作方式
透過使用新的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
,以不同客房入住人數發送多筆可用性查詢。 - 每個回應都會返回一個 multi-room 連結,可用於發起 POST 價格查詢請求。
請求範例:
GET /v3/properties/availability?checkin=2025-09-09&checkout=2025-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
}
]價格確認步驟
- 針對每個客房入住人數不同的「房況」回應,請擷取其中的「價格查詢」連結,並將其包含在 POST 請求主體中,置於每個客房的
href容器之下。為每個客房指派一個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內容,並完成旅客的預訂詳情,然後提交請求。 - 若操作成功,系統將返回一個行程編號,代表已預訂多個客房類型的行程。
請求範例:
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 | 400 | 產品必須具有相同的property_id。 | href中的旅宿識別碼必須與POST 路徑中的識別碼相符。 |
merchant_of_record | 代幣 | 400 | 產品必須具有相同的merchant_of_record。 | 這是商店回覆的一部分。Expedia 與旅宿的商品不可混搭。 |
occupancy | 代幣 | 400 | 入住人數必須少於 9 人。 | 計算所有hrefs 中 (代幣內的) 入住總數,以確保房間總數不超過 8 間。 |
注意: 在進行多筆客房預訂時可能發生的其他常見錯誤,與快速預 訂時發生的錯誤相同,例如信用卡及帳單聯絡資訊錯誤。關於這些錯誤,請參閱以及 中的「快速錯誤處理」。
其他資源
無論您是想嘗試所有 Rapid API 端點,還是下載其 OpenAPI 規格或我們的 Postman Collection,我們都可協助您完成。