Reserva de varios tipos de habitaciones
Permite a los viajeros reservar hasta 8 tipos de habitación o tarifa en un mismo itinerario
Información general
Los socios de Rapid tienen acceso a una amplia variedad de tipos de habitaciones y tarifas en todo el inventario de alojamientos de Expedia Group's industry-leading. La función de «varios tipos de habitación» facilita la reserva a los grupos que viajan juntos, ya que permite a los viajeros reservar hasta 8 tipos de habitación o tarifas en un mismo itinerario, lo que simplifica los procesos de reserva y atención al cliente. Por ejemplo, un viajero que quiera reservar una habitación con cama king size con desayuno y otra habitación con dos camas individuales sin desayuno.
Funcionamiento
Con el nuevo parámetrolinks.price_check_multi_room, puedes realizar varias consultas de disponibilidad con diferentes ocupaciones.
Las condiciones de la ruta de compra deben ser las mismas para todas las búsquedas de disponibilidad que se hagan para los tipos de habitación. Incluye:
checkincheckoutcurrencycountry_codelanguageproperty_idsales_channelsales_environmenttravel_purposebilling_termspartner_point_of_salepayment_terms
Ten en cuenta lo siguiente: Cada habitación devuelta incluye su propio conjunto específico de rates, amenities, cancel_penalties, occupancy_pricingy totals. Por eso, cuando se eligen varias tarifas de habitación en una reserva de tipo « multi-room », cada una debe mostrarse de forma clara e individual al viajero para evitar confusiones sobre qué condiciones de tarifa se aplican a cada habitación.
Flujo del proceso de integración y ejemplos de API
Paso de disponibilidad
- Usa el parámetro de consulta «
links.price_check_multi_room» para realizar varias solicitudes de disponibilidad con diferentes ocupaciones de las habitaciones. - Cada respuesta te dará un enlace del tipo multi-room que puedes usar para enviar una solicitud POST de consulta de precios.
Ejemplo de solicitud:
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_roomEjemplo de respuesta:
[
{
"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
}
]Paso de comprobación de precios
- Para cada respuesta de disponibilidad con diferentes ocupaciones de habitación, extrae los enlaces de «Price Check» e inclúyelos en el cuerpo de la solicitud POST dentro del contenedor «
href» de cada habitación. Asigna un «unique traveler_reference» a cada habitación para diferenciar las reservas con tarifas individuales. - Envía la solicitud de «Price Check» para confirmar la disponibilidad de cada habitación. Te informo La respuesta incluirá tanto un enlace de reserva como un token de sesión, necesarios para la solicitud de reserva posterior.
Ejemplo de solicitud:
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=="
}
]
}'Ejemplo de respuesta:
{
"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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"
}
}
}Paso «Crear reserva»
- Crea la solicitud de reserva utilizando el enlace de reserva como parámetro de consulta e incluye el token de sesión en el cuerpo de la solicitud.
- Rellena cada objeto de habitación con el «
traveler_reference» correspondiente y completa los datos de la reserva del viajero; después, envía la solicitud. - Si se realiza correctamente, se devolverá un único ID de itinerario que representa la reserva de varios tipos de habitaciones.
Ejemplo de solicitud:
POST /v3/itineraries?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH
{
"rooms": [
{
"given_name": "",
"family_name": "",
"traveler_reference": "King"
},
{
"given_name": "",
"family_name": "",
"traveler_reference": "Queen"
}
],
"payments": [],
"body_token": "REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBBWlYJEAlBDiYRVAF9UAtSQVYHRlJwHFV2F1QEXVdVQkNXXVNMElAGQAd1RAQKABAHBkFXcRxXAkRaVwtnWQATAQVEACIdBlZTBAgCWApeA1YUBQtAASAWBAYUUhBcaVlXFQcBQQR5Q1AGUwAAC1gAAFAPRApTEFNxEVRRQFRBVzoSTBJREFMDQwdyEQBTY2UjLHIjMXURUFcUB3AcAQUDWgtDV0xEBgsWBycQCwsFUxsMABZRBhECJxcGV0MXC1EBOgZYAA1fBlURVwNGC3UdVgVVVQ9HAxBXVBJUe0BWBlkGX1cGRUMDVBEKJBBTAwdZCURTHQUAQFEhEgpWQgBRFlpWUQBZBB0LBkAAcUQDAUMWEFYdVARDC3IcVwZUCFdXCTxdVQ5SAEprDloJG2wCBARfQRYKVhwLI0ECU15QDhFdHVFUEgZwQwZWQUQSEQoMVBA5CgFDUAUSUSMXAgo_Ejemplo de respuesta:
{
"links": {
"retrieve": {
"method": "GET",
"href": "/v3/itineraries/9069459818327?token=REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBeUEsHC1UKTTtbAGxEXAZaFgAIJjlhfCZ9c0BEV1JTRUFfXVdqRA1BF1dRXERZQVxRGRQXW1oAHVVdXQVTFhZTVVITQQpWUzsVXVwPUFwCAFdVVgtIV1UGDhlSBgIPG1JSUgAeAA9ZUFYBBFFWW1FbFxFRFV0-QRhCUVsXQFRRWxEPWgxVWT5TFFtER1cTFlIXEUINDlRGPRZURkBQXFk9XgALAA9ZAwBVVVMYDl9UUxgMVFJVGQxSAgsZXQRXBFQGUwBWVVZdRUJRFkIKV1pnDVMOAQAFAAZcBAFLDQQABBlXB1RQGgcIUlAUXQYFAwcLAw5XAVRUQw8DWV8RUQJSXlFcHTdmR0tWQRdQVVxDUkcNAR5IFF8FXBxaDVFVDx5EEAxAVRFEHGddBQlUWxUVAAlWQWxdCk9REAteDF1fFl9QVxcDW2tcCFgdFFYHDwMXUBYDBzoSC1pSX1ACAg0dVQAYBQJjVlBHB3cFUx1WdFYBF1cPV1AIDQwDUGJARRRSQ1wIPEQRSxRbFVYLbCt-KitiLT5layNidyppYmFkZ3xldhZbUhZrF1VABEUFV1RZRwFDUVYQXkJHQTlbXwBTDmIyFQZZRA0FCQkLUwFAVg1UVFIMXV4BBgZTHlQAGwAKFkVSFkNWAxBrEUJcXwhVVD1RBQVUBVQCAVJFUUBHQAAIVhsJYDJ1QF5GRlsSVFgBFl8NDW5XDQFUCGZqchEPVhZdXEwIWl5sVw5UV1dVDggIF1ALUVdbC0dAWAFVUAdJVVwdUFMeBlxVDF1eVl1PBVlWEVcEA00VA1MPWQIWW0ETHFYMWkByDlFaDkYUXFwJVwQADwQDXFRT"
}
},
"itinerary_id": "7069459818327"
}End-to-end proceso de reserva

Errores habituales en la comprobación de precios y cómo solucionarlos
| Campo | Tipo | Estado HTTP | Mensaje de error | Corrección |
|---|---|---|---|---|
checkin | ficha | 400 | Los productos deben tener la misma fecha de « checkin ». | Tiene que ser igual en todas las tiendas para que la experiencia de compra sea la misma. |
checkout | ficha | 400 | Los productos deben tener la misma fecha de « checkout ». | Tiene que ser igual en todas las tiendas para que la experiencia de compra sea la misma. |
language | ficha | 400 | Los productos deben tener el mismo language. | Tiene que ser igual en todos los tokens para garantizar la misma experiencia de compra. |
country_code | ficha | 400 | Los productos deben tener el mismo country_code. | Tiene que ser igual en todas las tiendas para que la experiencia de compra sea la misma. |
currency | ficha | 400 | Los productos deben tener el mismo currency. | Tiene que ser igual en todos los tokens para garantizar la misma experiencia de compra. |
sales_channel | ficha | 400 | Los productos deben tener el mismo sales_channel. | Tiene que ser igual en todos los tokens para garantizar la misma experiencia de compra. |
sales_environment | ficha | 400 | Los productos deben tener el mismo sales_environment. | Tiene que ser igual en todos los tokens para garantizar la misma experiencia de compra. |
travel_purpose | ficha | 400 | Los productos deben tener el mismo travel_purpose. | Tiene que ser igual en todos los tokens para garantizar la misma experiencia de compra. |
property_id | href | 400 | Los productos deben tener el mismo property_id. | El ID del alojamiento en un « href » debe coincidir con el de la ruta POST ****. |
merchant_of_record | ficha | 400 | Los productos deben tener el mismo merchant_of_record. | Parte de la respuesta de la tienda. Expedia Además, los productos de la colección «Property» no se pueden combinar entre sí. |
occupancy | ficha | 400 | El número de ocupantes debe ser inferior a 9. | Suma las ocupaciones (dentro de los tokens) de todos los « hrefs » para asegurarte de que no haya más de 8 habitaciones. |
Nota: Otros errores habituales que pueden surgir al hacer reservas para varias habitaciones son los mismos que se producen al usar la «Reserva rápida», como los relacionados con la tarjeta de crédito o los datos de facturación.
>> Echa un vistazo a «Gestión rápida de errores» para obtener más información
Recursos adicionales
Tanto si lo que quieres es probar todos los puntos de conexión de Rapid API como si quieres descargar las especificaciones de OpenAPI o nuestra colección de Postman, tenemos lo que necesitas.