Skip to content
Last updated

Modifying ancillaries for an existing hotel booking

Once a booking is confirmed, the ancillaries purchased along with the hotel booking can be modified if the hotel's policy permits it.

Note: See the paid ancillaries guide for more information with a sample use case.

The steps below explain how to modify ancillaries on an existing hotel booking.

StepNameEndpointDetails
Modify hotel detailsPOST /v2/hotel/pnrs/{pnrId}/modify-detailsView the ancillaries available for the booking.

URL path requires: pnrId from step 4 of the creating a hotel booking workflow. If the booking has been previously modified, then use the pnrId from step 3 of the modifying a hotel booking workflow.

Request body requires: Occupancy details.

Response will contain: An ancillaries array along with the room booking details. Each item in the ancillaries array includes a purchaseStatus field that indicates its current state (see paid ancillaries guide for more details on the purchase states).

Other APIs will use: rooms > rateOptions > priceValidateKey and the ancillaryKey values from the ancillaries array.
Verify hotel pricePOST /v2/hotel/price-checkVerify the price of the selected room rate.

Request body requires: priceValidateKey from step 1.

Response will contain: bookingKey.

Other APIs will use: bookingKey.
Modify hotel bookingPOST /v2/hotel/pnrs/{pnrId}/modify-bookApply the updated ancillary selections to the booking.

URL path requires: pnrId from step 4 of the creating a hotel booking workflow. If the booking has been previously modified, then use the pnrId from step 3 of the modifying a hotel booking workflow.

Request body requires: bookingKey from step 2, traveler details, tripId, bookingContact, and ancillaryKeys containing the full intended set of ancillary keys (i.e., the existing ancillaries to keep along with any new ancillaries to add). Omit any existing ancillary keys from the ancillaryKeys array that should be removed from the booking.

Note: See the paid ancillaries guide for more information with a sample use case.

Response will contain: A new pnrId for the modified booking, pnrStatus, and externalPnrId.

Other APIs will use: pnrId and externalPnrId (also referred to as cancelSourcePnrId).