# /bookingDetails - Version 3 migration guide

## Endpoints

In version 2, the [bookingDetails](https://developers.booking.com/api/technical.html?version=2.10#!/Booking/bookingDetails) endpoint returns a list of accommodation bookings that have been made through your account or with one of your affiliate ids.

In version 3, two separate endpoints provide the equivalent functionality:

* [/orders/details](/demand/docs/open-api/demand-api/orders/orders/details) provides basic information about each returned order.
* [/orders/details/accommodations](/demand/docs/open-api/demand-api/orders/orders/details/accommodations) provides information about the accommodation-specific part of each returned order.


Static accommodation data
The [/orders/details/*](/demand/docs/open-api/demand-api/orders/orders/details) endpoints do not return static accommodation data that was returned by `bookingDetails`. To obtain static accommodation data you must use the [/accommodations/details](/demand/docs/open-api/demand-api/accommodations/accommodations/details) endpoint.

Use the following tables to identify how to migrate request query parameters and response fields from a v2 `bookingDetails` call to the appropriate v3 equivalent.

## Request parameter mappings

The following tables show:

* parameter mappings to the [/orders/details](#ordersdetails-request-mappings) endpoint.
* parameter mappings to the [/orders/details/accommodations](#ordersdetailsaccommodations-request-mappings) endpoint.
* parameters that have [no equivalent mapping](#no-equivalent-v3-mapping) in V3.


### /orders/details request mappings

| **v2 query parameter** | **Equivalent v3 field** |
|  --- | --- |
| `created_from``created_until` | `created.from``created.to` |
| `last_change` | `updated.from,``updated.to` |
| `local_fee_currency` | `currency` |
| `offset` | `page` |
| *new in V3* | `sort.by``sort.direction` |
| `rows` | `maximum_results` |


### /orders/details/accommodations request mappings

| **v2 query parameter** | **Equivalent v3 field** |
|  --- | --- |
| `extras=cancellation_info``extras=mealplans` | `extras=[policies]` |
| `local_fee_currency` | `currency` |
| `reservation_id` | `reservations` |


### No equivalent v3 mapping

| **v2 query parameter** | **Notes** |
|  --- | --- |
| `checkin_from``checkin_until` |  |
| `checkout_from``checkout_until` |  |
| `extras=auth_form_url` |  |
| `extras=hotel_page_url``extras=key_collection_info` | Use [/orders/details/accommodations](/demand/docs/open-api/demand-api/orders/orders/details/accommodations) to obtain this information. |
| `extras=no_show``extras=status_details` | Not required. Both [/orders/details](/demand/docs/open-api/demand-api/orders/orders/details) and [/orders/details/accommodations](/demand/docs/open-api/demand-api/orders/orders/details/accommodations) return status details by default. |
| `extras=receipt_url` | The payment receipt is only available when you use  [/orders/create](/demand/docs/open-api/demand-api/orders/orders/create). |
| `extras=total_room_nights` |  |
| `last_change_day` |  |
| `options` |  |
| `stay_probability_from``stay_probability_to` |  |


## Response schema mappings

This section contains the following tables:

* [/orders/details response mappings](#ordersdetails-response-mappings)
* [/orders/details/accommodations response mappings](#ordersdetailsaccommodations-response-mappings)
* [/accommodations/details response mappings](#accommodationsdetails-response-mappings)
* [Fields with no V3 equivalent](#fields-with-no-v3-equivalent)
* [/orders/modify](#orders-modify)


### /orders/details response mappings

#### Bookings

| **v2 field** | **Equivalent v3 field** |
|  --- | --- |
| `affiliate_id` | `affiliate` |
| `booker_city` | `booker.address.city` |
| `booker_email` | `booker_email` |
| `booker_firstname` | `booker.name.first_name` |
| `booker_lastname` | `booker.name.last_name` |
| `booker_phone` | `booker.telephone` |
| `created` | `created` |
| `currency` | `currency.accommodation` |
| `euro_fee` | `commission.amount.accommodation_currency` |
| `guest_price_euro` | `price.total.accommodation_currency`**Note**: In v2 this price was always in Euros.In v3 this price is in the currency used by the accommodation. |
| `language` | `booker.language` |
| `local_fee` | `commission.amount.booker_currency` |
| `loyalty:``> rewards:``>> type``>> amount``>> is_eligible``>> fulfillment_at_utc``>> fulfillment``>> loyalty_member_data:``>>> field_name``>>> field_value``>> currency``>> payout_after` | `loyalty_reward`**Note**: For more information see the description in the API Reference. |
| `ttv:``> amount``> currency` | `price` |
| `status` | `status`**Note**: In V3 status is available at the order, accommodation and product level. |
| `travel_purpose` | `booker.travel_purpose` |
| `user_device` | `booker.platform` |


### /orders/details/accommodations response mappings

#### Bookings

| **v2 field** | **Equivalent v3 field** |
|  --- | --- |
| `affiliate_label` | `label` |
| `cancellation_date` | `cancellation_details.at` |
| `cancellation_fee` | `cancellation_details.fee` |
| `cancellation_info:``> from``> fee`The `cancellation_info` fields `currency`, `timezone` and `until` have no equivalent mapping in V3. See [Fields with no V3 equivalent](#fields-with-no-v3-equivalent). | `products.policies.cancellation:``> from``> price`**Note**: V3 handles cancellations differently to V2. |
|  |  |
| `extra_charges_breakdown: > extra_charge:``>> name``>> charge_amount``>> currency``>> excluded``>> charge_price_mode``>> name_id``>> amount` | `products.prices`**Note**: V3 handles prices differently to V2. See [Accommodation pricing guide](/demand/docs/accommodations/prices-accommodations). |
| `checkin` | `checkin` |
| `checkout` | `checkout` |
| `currency` | `currency.accommodation` |
| `external_reservation_ids` | `accommodation_order_references` |
| `fee_percentage` | `commission.actual_percentage` |
| `hotel_id` | `accommodation` |
| `hotel_email` | `accommodation_details.email` |
| `hotel_name` | `accommodation_details.name` |
| `destination_ufi``hotel_address``hotel_coordinates:``> latitude``> longitude``hotel_countrycode``hotel_zipcode` | `accommodation_details.location` |
| `pincode` | `pin_code` |
| `reservation_id` | `reservation`**Note**: See [Reservation and order ids](/demand/docs/migration-guide/v3/changes-in-v3#reservation-and-order-ids). |
| `rooms:``> id` | `product.room` |
| `rooms:``> name` | `product.room_details.name` |
| `status` | `status,``products.status`**Note**: In V3 status is available at the order, accommodation and product level. |


#### Bookings.rooms

| **v2 field** | **Equivalent v3 field** |
|  --- | --- |
| `guest_email` | `products.guests.email` |
| `guest_name` | `products.guests.name` |
| `mealplan:``> dinner:``>> price_per_person_per_night``>> number_of_nights``>> included``>> number_of_persons``> lunch:` (*breakdown as* `dinner`)`> breakfast:` (*breakdown as* `dinner`) | `products.policies.meal_plan`**Note**: The V2 `mealplan` and V3 `meal_plan` structures are different. |
| `nr_guests` | `products.allocation` |
| `smoking_preference` | `products.policies.smoking_preference` |


### /accommodations/details response mappings

#### Bookings

| **v2 field** | **Equivalent v3 field** |
|  --- | --- |
| `chain_ids` | `brands` |
| `key_collection_info:``> alternative_key_location``> key_location``> how_to_collect` | `key_collection_information` |
| `url` | `url` |
| `receipt_url` | This data is available from the [/orders/create](/demand/docs/open-api/demand-api/orders/orders/create) endpoint. |
| `creditslip` | You can find the `credit_slip` field under [orders/details/accommodation](/demand/docs/open-api/demand-api/orders/orders/details/accommodations) response. |


## Fields with no v3 equivalent

### Bookings

| **v2 field**                                                      | **Notes** |
|  --- | --- |
| `auth_form_url` |  |
| `booker_mailinglist` |  |
| `cancellation_info:``> currency``> timezone``> until` | The `cancellation_info` fields `from` and `fee` are mapped. See [/orders/details/accommodations response mappings](#ordersdetailsaccommodations-response-mappings). |
| `charges:``> included``> transaction_sum``> excluded` | The charges object was deprecated in v2.10. |
| `destination_name` | To get the name of the city in which the accommodation is located:1. Call `/accommodations/details`. The `location.city` value in the response returns the city `id`.2. Call `/common/locations/cities` and specify the city `id` in the request. |
| `direct_payment_info:``> payment_amount_paid``> percent_paid``> currency``> payment_amount` |  |
| `fee_calculation_date` |  |
| `guest_price_local``price_euro` | v3 handles prices differently to v2. See [Accommodation pricing guide](/demand/docs/accommodations/prices-accommodations). |
| `hotel_fax` |  |
| `nr_guests` | The `products.allocation` field in the `/orders/details/accommodations` [response](#bookingsrooms) gives the number of guests in each room. You can use this information to calculate the total number of guests. |
| `nr_modification_allowed:``> from``> timezone``> until` |  |
| `nr_rooms` | You can obtain this data by counting the number of items in the `products` array in the `/orders/details/accommodations` [response](#bookingsrooms) |
| `total_room_nights` |  |
| `rooms:``> guest_comments``> rres_id` |  |
| `sustainable_hotel` |  |


## /orders/modify

In Version 2 there are multiple endpoints (canChangeRoomReservation, changeHotelReservation and changeRoomReservation) to modify reservation details such as arrival date, departure, credit card details, etc.

In Version 3 you can modify your orders by using the [orders/modify](/demand/docs/open-api/demand-api/orders/orders/modify) endpoint.

Refer to the [dedicated guide](/demand/docs/orders-api/order-modify) for instructions and examples.