Car rentals API collection – Migrating to v3.2
This guide helps you migrate your integration to Demand API v3.2 for the Car rental API collection. It summarises the main changes, new features, and required actions to ensure a smooth upgrade from v3.1.
Introduction
Version 3.2 introduces structural improvements, naming standardisation, and new payment and booking functionality for Cars.
This release also aligns several schema elements with the Accommodations API collection, simplifying multi-vertical integrations.
- You can now complete the Search → Look → Book flow for Cars using the 3.2-Beta version of /cars/search, /cars/availability, /orders/preview and orders/create endpoints.

Most /cars endpoints in v3.2 have been standardised and aligned with current Demand API design conventions.
The majority of changes are non-breaking, focused on naming consistency and description improvements rather than schema structure.
The only endpoint with breaking structural changes is /cars/search, which has its own dedicated migration guide.
Cars migration overview (v3.1 → v3.2)
Version 3.2 focuses on consistency, clean-up, and usability improvements across all /cars endpoints.
| Endpoint | Change type | Breaking | Action required | Notes |
|---|---|---|---|---|
| /cars/search | Major structural changes | ⚠️ Yes | ✅ Yes | See the dedicated migration guide for new request/response schema. |
| /cars/availability | New endpoint (v3.2) | — | ✅ Yes (implement) | Enables real-time availability checks before booking. |
| /cars/depots | Naming and consistency updates | ⚠️ Partial | ✅ Yes (minor) | Field names changed to camelCase; deskAt removed. |
| /cars/depots/reviews/scores | No changes | ❌ No | ❌ No | Fully backward compatible. |
| /cars/suppliers | No changes | ❌ No | ❌ No | Functionally identical to v3.1. |
| /cars/constants | Updated payment_timings IDs | ⚠️ Partial | ✅ Yes (small) | Update mapping for renamed payment timing IDs. |
| /cars/details | No changes | ❌ No | ❌ No | Continue using your existing integration. |
Breaking changes
Payment timings renamed
| v3.2 | Changed | Breaking changes
In version 3.2, payment timing identifiers are standardised to align with Accommodation naming conventions:
Accommodation | Car rental | Meaning |
|---|---|---|
| pay_online_now | pay_online_now | Traveller pays the full amount online at the time of booking. |
| pay_at_the_property | pay_at_pickup | Traveller pays the full amount on location (property, pickup desk, venue, etc.). |
| — (not used) | pay_partial_online_now | Traveller pays part of the amount online at the time of booking, and the rest later (usually at pickup). |
If your integration uses these IDs programmatically (e.g., filtering or displaying user-facing labels), you must update them to the new values.
New endpoints introduced
| v3.2 Beta | New |
New set of endpoints has been has been included as these are needed to complete the Search → Look → Book flow for cars.
Endpoint | Description | Related guide |
|---|---|---|
| /cars/availability | Returns real-time availability and price details for selected car offers. | Check car availability guide |
| /cars/terms-and-conditions | Retrieves pre-booking terms and conditions for selected cars. | Cars Terms and Conditions guide |
| /orders/details/cars/terms-and-conditions | Returns post-booking terms and conditions for car rental orders. | Orders Terms and Conditions guide |
New functionality
- Cars can now be booked directly via
/orders/previewand/orders/createusing theofferandsearch_tokenfields. - This completes the Search → Look → Book flow for cars.
Endpoint migration details v3.2
/cars/depots
The /cars/depots endpoint remains functionally the same in v3.2, but has been cleaned up and aligned with current API conventions.
No structural changes, but several naming and consistency updates require attention.
What’s new in v3.2
| Field | Location | Description |
|---|---|---|
dropoff, pickup | Response → data | Replaces drop_off and pick_up to follow camelCase naming conventions. |
Breaking changes
| Field | Change | Impact |
|---|---|---|
pick_up → pickup | Property name normalised (underscore removed). | Update references to use the new pickup key. |
drop_off → dropoff | Property name normalised (underscore removed). | Update references to use the new dropoff key. |
deskAt → removed | Field removed in v3.2. | Remove any dependencies; use location.depot_location_type instead. |
✅ Tip: If your integration parses responses dynamically, it may continue to work—but you should still update field names and remove any deskAt references for consistency and forward compatibility.
/cars/depots/reviews/scores
Returns review scores and breakdowns for car rental depots.
The request and response structure remain identical between v3.1 and v3.2, with only minor description updates.
✅ Fully backward compatible — no migration actions required.
/cars/suppliers
Returns car rental supplier information.
No changes in v3.2; both request and response schemas remain fully compatible.
✅ Fully backward compatible — no migration actions required.
/cars/constants
Provides localised constants such as fuel types, transmission options, and payment timings.
No structural changes, but payment timing IDs have been renamed (see above).
✅ Update your logic if mapping or filtering by payment_timings.id.
/cars/details
Fetches static details such as capacity, make, model, and specifications.
No changes between v3.1 and v3.2.
✅ No migration actions required.
Migration checklist
| Step | Action | Required |
|---|---|---|
| 1 | Update pricing parser to handle charges[] | ✅ |
| 2 | Adjust product structure parsing for /cars/availability | ✅ |
| 3 | Update references to renamed payment_timings IDs | ✅ |
| 4 | Replace drop_off / pick_up with dropoff / pickup in /cars/depots | ✅ |
| 5 | Remove any dependency on deskAt | ✅ |
| 6 | Test updated Cars order flow (orders/preview → orders/create) | ✅ |
| 7 | Validate all endpoints against new v3.2 schemas | ✅ |
| 8 | Update label tracking logic | ⚙️ Optional |
Example migration flow
- Call /cars/availability (v3.2) → parse
charges[]andvehicle_details - Update checkout flow for partial payments (if applicable)
- Adjust order creation using
/orders/create - Test full booking flow end-to-end
Need help?
If you have questions about your Cars integration migration, contact your Booking.com technical account manager.
By following these guidelines and making the required updates, you can smoothly transition to Demand API v3.2 and continue to provide a seamless Car rental booking experience for your travellers.
What's next
If you use /cars/search, start with the Cars search migration guide to update your request and response logic.
Check the Cars try out guide for basic instructions.
Refer to v3.2 cars API reference for details in fields.
See the cars/search guide
Refer to cars/search API reference