# Car modification charges When a traveler modifies an existing car booking (e.g., the pickup or drop-off location, or rental dates), the price of the booking may change. The [Car APIs](/openapi/carapi) display these price differences as structured rate components on the [price check](/openapi/carapi/car/carpricecheck) API response, while vendor-imposed change fees may appear as free-text descriptions in the same API. When modifying a car booking, if the new price is cheaper than the existing booking, a refund may also be applicable based on the vendor's policies. This guide explains how to identify modification charges in the API response and how to interpret them. ## Rate difference components The [check car price](/openapi/carapi/car/carpricecheck) endpoint returns the rate breakdown for the selected car in the `rateInfo` and `finalRateInfo` fields. The two fields capture the rate at different points in the flow: | Field | Description | | --- | --- | | `rateInfo` | The rate information you get after the [car search](/openapi/carapi/car/carsearch) API call (i.e., when the traveler searches for a car). | | `finalRateInfo` | The supplier-confirmed rate when using the [check car price](/openapi/carapi/car/carpricecheck) endpoint. This is the final price the traveler will be charged.This is useful to identify if any price change has occurred since the original search was performed but before checkout occurs. | If `hasPriceChanged` is `true`, compare the two rate breakdowns to identify what changed and display the difference to the traveler before they confirm. When the request is part of a modification flow (i.e., `isModify` is set to `true` in the request body), two additional rate component types may appear in `finalRateInfo.carRateComponents`: | Field | Description | | --- | --- | | `CAR_MODIFY_RATE_DIFFERENCE` | The total price difference between the original booking and the modified one. A positive amount indicates that the traveler will pay more for the new booking, while a negative amount indicates a credit or reduced charge. | | `CAR_MODIFY_AVERAGE_RATE_DIFFERENCE` | The average daily rate difference between the original booking and the modified one. Useful when the rental duration spans multiple days and the daily cost has changed. | Each component in `carRateComponents` contains a `componentType` and an `amount` object (with the numeric `amount` value and a `currencyCode`). Here's a sample response excerpt from the [check car price](/openapi/carapi/car/carpricecheck) endpoint when `isModify` is `true` and the modified booking is more expensive than the original: ```json POST /v2/car/price-check // ... payload truncated for focus { "hasPriceChanged": true, "finalRateInfo": { "carRateComponents": [ { "componentType": "BASE_RATE_TOTAL", "amount": { "amount": 320.00, "currencyCode": "USD" } }, { "componentType": "TOTAL_TAX", "amount": { "amount": 48.00, "currencyCode": "USD" } }, { "componentType": "CAR_MODIFY_RATE_DIFFERENCE", "amount": { "amount": 75.00, "currencyCode": "USD" } }, { "componentType": "CAR_MODIFY_AVERAGE_RATE_DIFFERENCE", "amount": { "amount": 15.00, "currencyCode": "USD" } } ] } } ``` In the example above, the modified booking costs *USD 75 more* in total than the original, with an average daily increase of *USD 15*. ## Calculating the total modification cost Use the following parameters in the APIs to identify the total booking modification cost: - In the [check car price](/openapi/carapi/car/carpricecheck) API response, locate the entry in the `carRateComponents` with the `componentType` set to `CAR_MODIFY_RATE_DIFFERENCE`. The `amount` displayed here is the change in the rental price. - Review the `finalRateInfo` > `additionalDetails` array for entries with `carAdditionalDetailType` set as `FEES_INFORMATION`. Display the text field value to the traveler as a supplementary fee notice. - The total amount the traveler will be charged is displayed in `finalRateInfo` > `carRateComponents` > `amount` with `componentType` set to `BASE_RATE_TOTAL` and `TOTAL_TAX`.