Modifying a hotel booking
Once the hotel room has been booked, the traveler can modify the booking as long as the hotel selection is not changed. This means that the occupancy dates and rooms within the booked hotel can be modified based on availability and hotel policy.
Note: Modifying a hotel booking does not allow the traveler to switch hotel establishments. To change the booking to a different hotel, the traveler must cancel the existing booking and create a new one.
The steps below explain how to modify an existing hotel booking.
Step | Name | Endpoint | Details |
---|---|---|---|
1. | Modify hotel details | /v2/hotel/pnrs/{pnrId}/modify-details | View the available modifications that can be requested for an existing hotel booking. URL path requires: pnrId from step 4 of creating a hotel booking workflow.Request body requires: Occupancy details and preSearchAnswers containing the custom field questions (e.g., What is the purpose of your travel?).Response will contain: rooms containing the list of other room options available, bookedRooms containing the details about the existing room booking and price. The rooms > penaltyAmount field will contain the penalty charge if applicable.Other APIs will use: rooms > rateOptions > priceValidateKey |
2. | Verify hotel price | /v2/hotel/price-check | Verify the selected hotel room price from the list of options displayed in step 1. Request body requires: priceValidateKey from step 1.Response will contain: bookingKey Other APIs will use: bookingKey |
3. | Modify hotel booking | /v2/hotel/pnrs/{pnrId}/modify-book | Modify the existing booking with the selected room from step 1. URL path requires: pnrId from step 4 of creating a hotel booking workflow. Use the get trip details API to retrieve the pnrId of the hotel booking.Request body requires: bookingKey from step 2, traveler details, tripId , bookingContact , and special requests (e.g., early check-in).Response will contain: A new pnrId for the modified booking, pnrStatus , and externalPnrId to hold the modified source PNR.Other APIs will use: pnrId and externalPnrId (also referred to as cancelSourcePnrId in other APIs). |