Reserva de vários quartos
Permita que os viajantes reservem até 8 tipos de quarto ou tarifas em um único itinerário.
Visão geral
Os parceiros da Rapid têm acesso a uma variedade de tipos de quartos e tarifas em todo o estoque de propriedades da Expedia Group's industry-leading. A funcionalidade de múltiplos tipos de quarto facilita a reserva para grupos que viajam juntos, permitindo que os viajantes reservem até 8 tipos de quarto ou tarifas em um único itinerário, simplificando os processos de reserva e atendimento. Por exemplo, um viajante que deseja reservar um quarto com cama king-size e café da manhã e um quarto com duas camas de solteiro sem café da manhã.
Como funciona
Usando o novo parâmetro, você pode fazer várias solicitações de disponibilidade com diferentes níveis de ocupação.links.price_check_multi_room
As condições do percurso de compras devem ser as mesmas para todas as pesquisas de disponibilidade realizadas para os tipos de quarto. Incluindo:
checkincheckoutcurrencycountry_codelanguageproperty_idsales_channelsales_environmenttravel_purposebilling_termspartner_point_of_salepayment_terms
Observação: Cada quarto devolvido inclui seu próprio conjunto distinto de rates, amenities, cancel_penalties, occupancy_pricinge totals. Assim sendo, quando várias tarifas de quarto são selecionadas como parte de uma reserva do tipo multi-room, cada uma deve ser apresentada de forma clara e individual ao viajante para evitar bagunça sobre quais condições de tarifa se aplicam a qual quarto.
Fluxograma do processo de integração e exemplos de API
Etapa de disponibilidade
- Use o parâmetro de consulta
links.price_check_multi_roompara fazer várias solicitações de disponibilidade com diferentes níveis de ocupação dos quartos. - Cada resposta retornará um link multi-room que pode ser usado para iniciar uma solicitação POST de verificação de preço.
Exemplo de solicitação:
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_roomResposta de exemplo:
[
{
"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
}
]Etapa de verificação de preço
- Para cada resposta de disponibilidade com diferentes níveis de ocupação dos quartos, extraia os links de verificação de preço e inclua-os no corpo da solicitação POST sob o contêiner
hrefde cada quarto. Atribua umunique traveler_referencea cada quarto para distinguir as reservas com tarifas individuais. - Envie o pedido de verificação de preço para confirmar a disponibilidade de cada quarto. A resposta incluirá um link de reserva e um token de sessão necessário para a solicitação de reserva subsequente.
Exemplo de solicitação:
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=="
}
]
}'Resposta de exemplo:
{
"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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"
}
}
}Etapa de criação de reserva
- Construa a solicitação de reserva usando o link de reserva como parâmetro de consulta e inclua o token de sessão no corpo da solicitação.
- Preencha cada objeto de quarto com o
traveler_referencecorrespondente e complete os detalhes da reserva do viajante, depois envie a solicitação. - Após a conclusão bem-sucedida, será retornado um único ID de itinerário representando a reserva de vários tipos de quarto.
Exemplo de solicitação:
POST /v3/itineraries?token=QFlCEVhQRmxHFg4EXVpVOlEBCFcADFIMUkB6UVBXCEsTXFsCBA9WWgFUAFIH
{
"rooms": [
{
"given_name": "",
"family_name": "",
"traveler_reference": "King"
},
{
"given_name": "",
"family_name": "",
"traveler_reference": "Queen"
}
],
"payments": [],
"body_token": "REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBBWlYJEAlBDiYRVAF9UAtSQVYHRlJwHFV2F1QEXVdVQkNXXVNMElAGQAd1RAQKABAHBkFXcRxXAkRaVwtnWQATAQVEACIdBlZTBAgCWApeA1YUBQtAASAWBAYUUhBcaVlXFQcBQQR5Q1AGUwAAC1gAAFAPRApTEFNxEVRRQFRBVzoSTBJREFMDQwdyEQBTY2UjLHIjMXURUFcUB3AcAQUDWgtDV0xEBgsWBycQCwsFUxsMABZRBhECJxcGV0MXC1EBOgZYAA1fBlURVwNGC3UdVgVVVQ9HAxBXVBJUe0BWBlkGX1cGRUMDVBEKJBBTAwdZCURTHQUAQFEhEgpWQgBRFlpWUQBZBB0LBkAAcUQDAUMWEFYdVARDC3IcVwZUCFdXCTxdVQ5SAEprDloJG2wCBARfQRYKVhwLI0ECU15QDhFdHVFUEgZwQwZWQUQSEQoMVBA5CgFDUAUSUSMXAgo_Resposta de exemplo:
{
"links": {
"retrieve": {
"method": "GET",
"href": "/v3/itineraries/9069459818327?token=REhZAQsABAoHQhIKW0ZADFYCahJRTQoENTJ4d3F1L3codEBeUEsHC1UKTTtbAGxEXAZaFgAIJjlhfCZ9c0BEV1JTRUFfXVdqRA1BF1dRXERZQVxRGRQXW1oAHVVdXQVTFhZTVVITQQpWUzsVXVwPUFwCAFdVVgtIV1UGDhlSBgIPG1JSUgAeAA9ZUFYBBFFWW1FbFxFRFV0-QRhCUVsXQFRRWxEPWgxVWT5TFFtER1cTFlIXEUINDlRGPRZURkBQXFk9XgALAA9ZAwBVVVMYDl9UUxgMVFJVGQxSAgsZXQRXBFQGUwBWVVZdRUJRFkIKV1pnDVMOAQAFAAZcBAFLDQQABBlXB1RQGgcIUlAUXQYFAwcLAw5XAVRUQw8DWV8RUQJSXlFcHTdmR0tWQRdQVVxDUkcNAR5IFF8FXBxaDVFVDx5EEAxAVRFEHGddBQlUWxUVAAlWQWxdCk9REAteDF1fFl9QVxcDW2tcCFgdFFYHDwMXUBYDBzoSC1pSX1ACAg0dVQAYBQJjVlBHB3cFUx1WdFYBF1cPV1AIDQwDUGJARRRSQ1wIPEQRSxRbFVYLbCt-KitiLT5layNidyppYmFkZ3xldhZbUhZrF1VABEUFV1RZRwFDUVYQXkJHQTlbXwBTDmIyFQZZRA0FCQkLUwFAVg1UVFIMXV4BBgZTHlQAGwAKFkVSFkNWAxBrEUJcXwhVVD1RBQVUBVQCAVJFUUBHQAAIVhsJYDJ1QF5GRlsSVFgBFl8NDW5XDQFUCGZqchEPVhZdXEwIWl5sVw5UV1dVDggIF1ALUVdbC0dAWAFVUAdJVVwdUFMeBlxVDF1eVl1PBVlWEVcEA00VA1MPWQIWW0ETHFYMWkByDlFaDkYUXFwJVwQADwQDXFRT"
}
},
"itinerary_id": "7069459818327"
}End-to-end fluxo de reserva

Erros comuns na verificação de preços com resoluções
| Campo | Tipo | Status HTTP | Mensagem de erro | Correção |
|---|---|---|---|---|
checkin | token | 400 | Os produtos devem ter a mesma data.checkin | Deve ser igual em todos os tokens para garantir a mesma experiência de compra. |
checkout | token | 400 | Os produtos devem ter a mesma data.checkout | Deve ser igual em todos os tokens para garantir a mesma experiência de compra. |
language | token | 400 | Os produtos devem ter o mesmo language. | Deve ser igual em todos os tokens para garantir a mesma experiência de compra. |
country_code | token | 400 | Os produtos devem ter o mesmo country_code. | Deve ser igual em todos os tokens para garantir a mesma experiência de compra. |
currency | token | 400 | Os produtos devem ter o mesmo currency. | Deve ser igual em todos os tokens para garantir a mesma experiência de compra. |
sales_channel | token | 400 | Os produtos devem ter o mesmo sales_channel. | Deve ser igual em todos os tokens para garantir a mesma experiência de compra. |
sales_environment | token | 400 | Os produtos devem ter o mesmo sales_environment. | Deve ser igual em todos os tokens para garantir a mesma experiência de compra. |
travel_purpose | token | 400 | Os produtos devem ter o mesmo travel_purpose. | Deve ser igual em todos os tokens para garantir a mesma experiência de compra. |
property_id | href | 400 | Os produtos devem ter o mesmo property_id. | O ID propriedade em um hrefdeve corresponder ao do caminho **POST **. |
merchant_of_record | token | 400 | Os produtos devem ter o mesmo merchant_of_record. | Parte da resposta da loja. Os produtos da Expedia e da propriedade não podem ser combinados entre si. |
occupancy | token | 400 | O número de ocupações deve ser inferior a 9. | Totaliza as ocupações (dentro dos tokens) em todos os hrefspara garantir que não haja mais de 8 quartos. |
Nota: Alguns outros erros comuns que podem ocorrer durante a reserva de vários quartos são os mesmos que ocorrem durante a Reserva Rápida, como erros de cartão de crédito e de contacto de cobrança.
>> Consulte a seção Tratamento rápido de erros para obter mais informações.
Recursos adicionais
Não importa se deseja testar todos os pontos de extremidade da Rapid API, ou baixar a especificação OpenAPI ou a nossa coleção Postman Collection, você pode contar conosco.