Update booking
PUT/api/booking/update
Updates an existing booking in place: the booking keeps its id and history, and the main field changes (dates, places, car or category, distance, transportation ids, agency, agreements and price) are audited as comments on the booking. This is a modify operation, not a cancel-and-rebook.
Dates, times, pickup/return places, car model or category, additionals, transportation ids
(flight numbers) and price-related fields are updated directly and the price is recalculated
(the same 1% tolerance as on creation applies when Price is sent). Under model-based
availability the requested dates are re-validated, keeping the assigned vehicle when it is
still available; under category-based availability the category quota is only re-checked when
the category changes — date-only changes are applied without a new availability check.
Booking status:
- Canceled bookings are automatically reactivated. When the booking has an assigned vehicle
(or availability is model based) its availability is validated and the request fails with
BookingStatusNotAllowUpdatewhen no vehicle is available; category-based bookings with no assigned vehicle are reactivated without an availability check. Reactivation happens before the version validation, so a request later rejected by version may still have reactivated the booking. - Delivered and Closed bookings cannot be updated: the request fails with
BookingStatusNotAllowUpdateand a warning comment is added to the booking.
Versioning: when both the stored and the incoming Version are numeric, an incoming value
lower than or equal to the stored one fails with BookingVersionError and a higher one is
applied; when either value is missing or not numeric, no version check is performed and the
update is applied.
Customer data: only Customer.Name and Customer.EmailAddress are updated, and only when the
customer was created by the same API user making the request; otherwise customer changes are
ignored. Other customer fields (phone, age, documents, etc.) are never modified by this endpoint.
Additionals are synchronized with the request: optional additionals omitted from Additionals
are removed from the booking, while required additionals and system-added ones (e.g. after-hours
charges) are re-applied automatically even when omitted.
When FullResponse is true and the booking was priced by VDR coverage brackets, its rental lines billed per
day may carry AppliedCoverageBrackets. Each of those lines declares a single range with its whole Price.
Several lines of the same payer can declare the same range, and the total of that range is their sum. The
detail is left out of every line when the stored lines cannot be traced back to their ranges, for example
after an extension paid by a different payer. The simplified response never carries it.
Request
Responses
- 200
- 400
- 403
Updates an existing booking or Updates an existing booking
Api Error
Unauthenticated user