Learn how to use the /cars/terms-and-conditions endpoint to retrieve structured terms and conditions for a specific car rental offer during the booking flow.
| Pre-booking | 3.2 Beta|
Use the /cars/terms-and-conditions endpoint to retrieve the applicable terms and conditions for a specific car rental offer during the pre-booking process.
This endpoint returns both:
- Key rental information (such as deposit, mileage, driver requirements).
- Hierarchical legal terms and conditions.
Use this endpoint during the booking flow, after a user selects a car but before the order creation.
It is mandatory to display terms and conditions at this stage.
- Show mandatory terms during checkout or booking preview.
- Display key rental conditions (deposit, mileage, insurance, driver rules)
- Help travellers understand restrictions before confirming a booking.
- Support compliance with rental supplier requirements.
You provide a car offer ID, along with the search token (that includes the booking context).
The API returns:
- Structured key information.
- Full terms and conditions tree.
Content is returned in the requested language (if supported).
offeris required and identifies the selected car rental option.search_tokenis required and links the request to the original search session.currencyis required for pricing context.languageis optional (defaults to English if not supported)- The response includes both summary data (key_info) and full legal structure (terms)
Field | Required | Type | Description |
|---|---|---|---|
offer | ✔ | integer | Unique identifier of the selected car rental offer. |
currency | ✔ | String | Currency in ISO 4217 format (e.g. USD, EUR, GBP). |
search_token | ✔ | string | Token returned by the search endpoint. Links the request to the original search session. |
language | Optional | String | Language in ISO 639-1 format (e.g., en-us). Used to localise the response if supported. Defaults to English if not specified or unsupported. |
Example request:
{
"offer": 123456789,
"currency": "USD",
"language": "en-us",
"search_token": "eyJkcml2ZXJzQWdlIjozMCwiZHJvcE9mZkRhdGVUaW1lIjo"
}
The response includes:
request_id– Unique identifier for the request.data– A map of order IDs to their terms and conditions.
Example:
{
"request_id": "123456789",
"data": {
"765255700": {
"terms": [ ... ]
},
"invalid_order": null
}
}Summarised rental conditions used for UI display.
Includes:
common– driver age, insurance, payment methods, rental duration.deposit– security deposit requirements and accepted cards.damage_excess– liability and excess coverage.driver_and_license– required documents and conditions.mileage– mileage policy.disclaimers– supplier-level legal notes.
Hierarchical legal structure representing the full rental agreement.
- Each node includes:
type(chapter, section, clause, sub_clause, clause_option)titleandchildren
- Leaf nodes (
clause_option) contain the final displayable text in text.
Example response:
{
"request_id": "01fr9ez700exycb98w90w5r9sh",
"data": {
"key_info": {
"common": {
"credit_cards_allowed": true,
"debit_cards_allowed": true,
"driver_age": 25,
"insurance_available": true,
"rental_duration": 3
},
"mileage": {
"title": "Mileage",
"subtitle": "Distance included",
"content": "Unlimited mileage included"
}
},
"terms": [
{
"type": "chapter",
"title": "Rental agreement",
"children": [
{
"type": "section",
"title": "Driver requirements",
"children": [
{
"type": "clause",
"title": "Age restrictions",
"children": [
{
"type": "sub_clause",
"children": [
{
"type": "clause_option",
"text": "Driver must be <b>at least 25 years of age</b> to rent this vehicle."
}
]
}
]
}
]
}
]
}
]
}
}
✅ Always show T&Cs during booking
- This endpoint is part of the mandatory booking flow UX.
✅ Use key_info for UI-first rendering
- Use it for summaries, cards, and checkout screens.
- Do not force users to expand full legal tree by default.
✅ Use terms for legal completeness
- Preserve full hierarchy.
- Do not flatten unless required by UI constraints.
✅ Respect structure
- Only clause_option.text contains final legal text.
- Other nodes are structural and must be preserved.
✅ Handle HTML safely
textmay include basic HTML (for example tags).- Ensure safe rendering or sanitisation where required.
- Treat
key_infoandtermsas two complementary layers - Prefer a progressive disclosure UI pattern:
- Summary first (key_info)
- Full legal details on demand (terms).
- See the Car tutorial for a complete booking flow.
- Refer to the Cars section for details.