# 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](/guides/hotel_guides/hotel_addons_guide#modifying-ancillaries-on-an-existing-booking---overview) guide for more information with a sample use case. The steps below explain how to modify ancillaries on an existing hotel booking. | Step | Name | Endpoint | Details | | --- | --- | --- | --- | | 1. | [Modify hotel details](/openapi/hotelapi/hotel/hotelmodifydetails) | `POST` `/v2/hotel/pnrs/{pnrId}/modify-details` | View the ancillaries available for the booking.**URL path requires:** `pnrId` from step 4 of the [creating a hotel booking](/spotnana/hotel_booking_workflow) workflow. If the booking has been previously modified, then use the `pnrId` from step 3 of the [modifying a hotel booking](/spotnana/hotel_modify_workflow) 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](/guides/hotel_guides/hotel_addons_guide#fetching-available-ancillaries) guide for more details on the purchase states).**Other APIs will use:** `rooms` > `rateOptions` > `priceValidateKey` and the `ancillaryKey` values from the `ancillaries` array. | | 1. | [Verify hotel price](/openapi/hotelapi/hotel/hotelpricecheck) | `POST` `/v2/hotel/price-check` | Verify the price of the selected room rate.**Request body requires:** `priceValidateKey` from step 1.**Response will contain:** `bookingKey`.**Other APIs will use:** `bookingKey`. | | 1. | [Modify hotel booking](/openapi/hotelapi/hotel/hotelmodifybooking) | `POST` `/v2/hotel/pnrs/{pnrId}/modify-book` | Apply the updated ancillary selections to the booking.**URL path requires:** `pnrId` from step 4 of the [creating a hotel booking](/spotnana/hotel_booking_workflow) workflow. If the booking has been previously modified, then use the `pnrId` from step 3 of the [modifying a hotel booking](/spotnana/hotel_modify_workflow) 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](/guides/hotel_guides/hotel_addons_guide#modifying-ancillaries-on-an-existing-booking---overview) 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`). |