개요
여행자가 하나의 일정 최대 8개의 객실 또는 요금 유형을 예약할 수 있습니다.
빠른 파트너는 Expedia Group's industry-leading 인벤토리에서 다양한 객실 및 요금 유형을 확인할 수 있습니다(숙박 시설). 다중 객실 유형 기능은 여행자가 하나의 일정 최대 8개의 객실 또는 요금 유형을 예약할 수 있도록 하여 함께 여행하는 단체 여행객의 예약 및 서비스 프로세스를 간소화합니다. 예를 들어, 조식이 포함된 킹룸 1개와 조식이 포함되지 않은 트윈룸 1개를 예약하려는 여행객이 있습니다.
작동 방식
새로운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쿼리 매개변수를 사용하여 객실 점유율이 다른 여러 객실의 예약 가능 여부를 요청할 수 있습니다.- 각 응답은 POST 가격 확인 요청을 시작하는 데 사용할 수 있는 multi-room 링크를 반환합니다.
요청 예:
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
}
]가격 확인 단계
- 다양한 객실 점유율이 포함된 각 예약 가능 여부 응답에 대해 가격 확인 링크를 추출하여 각 객실의
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 | 400 | 제품에는 동일한 property_id. | href의 숙박 시설 ID는 POST 경로의 ID와 일치해야 합니다. |
merchant_of_record | 토큰 | 400 | 제품에는 동일한 merchant_of_record. | 상점 응답의 일부입니다. 익스피디아와 숙박 시설 수집 상품은 혼용할 수 없습니다. |
occupancy | 토큰 | 400 | 점유 인원은 9명 미만이어야 합니다. | 모든 토큰(토큰 내)의 점유율을 합산( hrefs)하여 8개 이상의 방이 없도록 합니다. |
참고: 멀티룸 예약 시 발생할 수 있는 기타 일반적인 오류는 신용카드 및 결제 연락처 오류와 같이 빠른 예약 시 발생하는 오류와 동일합니다. 이러한 오류에 대해서는 신속한 오류 처리 를 참조하세요.
추가 리소스
모든 Rapid API 엔드포인트를 사용해 보거나 OpenAPI 사양 또는 Postman 컬렉션을 다운로드하려는 경우 다음 사항을 참조해 주세요.