# Modification and rebooking
These operations cover changes to an active car rental booking.
Modifications such as pickup or drop-off date and time, location, vehicle type, rate, and rebooking to a different supplier are covered in these operations.
**Webhook used:** [PNR_V3](/openapi/webhookeventapi/webhooks/paths/pnr_v3/post)
| Step | Operation | Event trigger | Context |
| --- | --- | --- | --- |
| 1 | `BOOKING_UPDATED` | When the car booking is modified and the same PNR is updated. | A change has been made to the car reservation that is not a cancellation or rebooking.
This event type covers all car modifications, including pickup or drop-off date and time changes, pickup or drop-off location changes,
vehicle (car type) changes, number of cars changed, loyalty number updates, and total booking amount changes.
If a supplier decides to cancel and rebook for a modification then the `BOOKING_UPDATED` event will not be sent.
Instead, you'll receive a `BOOKING_CANCELED_BY_TRAVELER` followed by a `BOOKING_CREATED` event.
Use the `carPnr > rebookReference` object in the `BOOKING_CREATED` event payload to see the cancelled PNR.
**Example 1:** A traveler extends their rental by one day (drop-off moves from March 18 to March 19).
The `BOOKING_UPDATED` event is triggered on the same PNR with the updated dates and new total ($220).
**Example 2:** A traveler changes the pickup location from the airport to a downtown branch. The supplier cancels and rebooks the reservation with new information.
A `BOOKING_CANCELED_BY_TRAVELER` event is triggered for the original PNR,
followed by a `BOOKING_CREATED` event for the new PNR with the updated location.
**Example 3 (Loyalty added):** A traveler adds their Hertz Gold Plus Rewards membership number to the booking.
The `BOOKING_UPDATED` event is triggered. |
| 2
| `BOOKING_REBOOKED`
| When the car booking is rebooked to a different supplier or vehicle.
| The car reservation has been rebooked. This indicates the vendor confirmation number has changed.
> Note: This is distinct from `BOOKING_UPDATED`, which covers modifications to the same reservation.
Rebooking can occur when a better rate becomes available for an equivalent vehicle and an agent or traveler manually rebooks to a different supplier.
The `rebookReference` object in the payload links the old and new PNRs and may include additional metadata about the rebook.
To identify a rebook, compare the `vendorConfirmationNumber` between the latest and previous PNR versions.
If they differ, the booking has been rebooked. You can also check the `rebookReference` object for cancelled PNR IDs and the new rebooked PNR ID.
**Example:** A traveler booked a car at $55/day with Hertz. A lower rate of $45/day becomes available for an equivalent car with Avis.
The TMC agent identifies this as a cost-saving measure and rebooks at the better rate, saving $30 over 3 days.
The `BOOKING_REBOOKED` event is triggered with a new confirmation number.
|
## Modification and rebooking flow diagram
```mermaid
flowchart LR
subgraph modifications["Modifications and rebook"]
A(["Confirmed car
booking"]) --> B{"Type of
change?"}
B -->|"Modifying same PNR"| C["BOOKING_UPDATED
―――――――――――
Dates, locations, car type,
rate, or loyalty changed
on the same PNR."]
B -->|"Cancel and rebook"| D["BOOKING_CANCELED_
BY_TRAVELER
―――――――――――
Old PNR cancelled
as part of modify flow."]
D --> E["BOOKING_CREATED
―――――――――――
New PNR created with
updated details."]
B -->|"Manual rebook
(better rate)"| F["BOOKING_REBOOKED
―――――――――――
The confirmation number or supplier is changed."]
end
style A fill:#f0f0f0,stroke:#999
style C fill:#2196F3,color:#fff
style D fill:#F44336,color:#fff
style E fill:#4CAF50,color:#fff
style F fill:#2196F3,color:#fff
```