Last updated

Orders details – Migrating to v3.2

Learn how to update your integration to support /orders/details in Demand API v3.2. This guide explains breaking changes, new nested structures, and recommended migration practices.


Summary of key impacts

  • Multi-currency support: currencies.booker and currencies.productreplace the flat currency field.
  • Commission and price fields are now structured objects.
  • New nested objects introduced for accommodations, attractions, cars, and flights.
  • Deprecated fields are now removed (price.total, commission.actual_amount, etc.).
  • Label and date range fields added for attribution and filtering.

Breaking changes

Breaking changes

The following v3.1 fields are deprecated or replaced in v3.2. Update your integration to avoid disruption.

v3.1v3.2 replacementImpactNotes / migration action
currencycurrencies.booker / currencies.productUI / ReportingReplace flat currency with multi-currency object. Use booker for display, product for accounting.
commission.actual_amountcommission.actual_commission_amount.booker_currencyReportingMigrate numeric to structured object. Implement fallback to deprecated field temporarily.
commission.estimated_amountcommission.estimated_commission_amount.booker_currencyReportingSame as above.
price.commissionableprice.commissionable_price.booker_currencyUI / CalculationsUpdate calculations and UI to use booker_currency.
price.totalprice.total_price.booker_currencyUI / CalculationsSame as above.
accommodations.location, name, number_of_guests, stay_probabilityUI / AnalyticsUpdate parsers for new structure.
cars.pickup_location / dropoff_locationUI / AnalyticsNew nested structure for cars in the response.
attractionsUI / Filtering/ CalculationsNew nested structure for attractions in the response.
flights.itinerariesUI / AnalyticsParse array of itineraries.
labelReporting / AttributionCapture partner attribution.
start / endUI / FilteringHandle travel window dates where needed.

Quick migration summary

Top changes in v3.2:

ChangeImpactNotes
currencycurrencies.booker / currencies.productUI / AccountingUse booker for display, product for accounting. Deprecated field removed.
commission.actual_amountcommission.actual_commission_amount.booker_currencyReportingStructured object replaces numeric value.
commission.estimated_amountcommission.estimated_commission_amount.booker_currencyReportingSame as above.
price.total / price.commissionableprice.total_price / price.commissionable_priceUI / CalculationsUpdate parsing and UI logic.
New nested objectsAnalytics / UIaccommodations.location, cars, attractions, flights.itineraries
labelAttributionOptional partner-defined field for tracking campaigns.
start / endFilteringTravel window dates for filtering/reporting.

✅ Recommended: Switch immediately to the new structured objects; treat deprecated fields only as fallback temporarily.

Deprecated fields

The following fields are deprecated in v3.2 and should be replaced with their updated equivalents.

Deprecated fieldStatusReplacement
commission.actual_amount❌ Removedcommission.actual_commission_amount
commission.estimated_amount❌ Removedcommission.estimated_commission_amount
currency❌ Removedcurrencies.booker / currencies.product
price.total❌ Removedprice.total_price
price.commissionable❌ Removedcommissionable_price
Recommended alternative

Switch immediately to the new structured objects. Use deprecated fields only as fallback while migrating.

Quick migration checklist

Checklist
Update parsing for currencies.booker / currencies.product.
Update commission.*_commission_amount objects and remove deprecated fields.
Replace price.total / price.commissionable with price.total_price / price.commissionable_price.
Add handling for accommodations.location, name, number_of_guests, stay_probability.
Add handling for cars (pickup_location, dropoff_location) and attractions.
Add support for flights.itineraries if flights are booked.
Support label for partner attribution.
Add handling for start / end travel dates.
Run integration tests with v3.2 sample payloads (include edge cases: null stay_probability, missing label, partial online payments).

Example - orders/details response (simplified)


{
  "request_id": "01fr9ez700exycb98w90w5r9sh",
  "data": [
    {
      "id": "509430129718799",
      "accommodations": {
        "inventory": {
          "third_party": false,
          "type": "sell"
        },
        "reservation": 12345677
      },
      "affiliate": 111111,
      "booker": {
        "address": { "city": "Amsterdam", "country": "nl" },
        "email": "johndoe@booking.com",
        "language": "en-gb",
        "name": { "first_name": "john", "last_name": "doe" },
        "platform": "mobile",
        "telephone": "+100000000",
        "travel_purpose": "business"
      },
      "commission": {
        "actual_amount": 17.5,
        "estimated_amount": null
      },
      "currency": "EUR",
      "created": "2025-07-28T02:00:00+00:00",
      "price": {
        "commissionable": 160,
        "total": 170.01
      },
      "status": "booked",
      "updated": "2025-07-28T02:00:00+00:00"
    }
  ],
  "metadata": { "next_page": null, "total_results": 1 }
}

Migration guide – Steps

1. Inventory & schema discovery

2. Backend parsing

  • Implement parsing for currencies, commission.*_commission_amount, and price.*_price.
  • Add fallbacks logic for deprecated fields temporarily (Example: commission.actual_amount).
  • Add support for accommodations.location and cars/attractions objects where relevant.

3. UI update

  • Replace any direct reads of price.total with price.total_price.booker_currency.
  • Where you show amounts to users, prefer currencies.booker values.

4. Business logic & reporting

  • Update billing/commission calculations to use actual_commission_amount.product_currency for product-level accounting and booker_currency for user-facing reporting.

5. Analytics and attributions

  • Track label, start / end dates, and new objects.

6. Testing

  • Run integration tests with sample v3.2 responses (include edge cases: missing estimated_commission_amount, null stay_probability, missing label).
  • Use test hotels and sandbox environment for the accommodation implementation.
  • Validate monetary rounding rules when converting between currencies.

7. Rollout

  • Release with both new and deprecated parsing for a short transition window; after verifying data is correct, remove deprecated-path code.

Other services details

Refer to each endpoint migration guide for details:

3.2 Orders/details/accommodations migration

Explore how to migrate to v3.2 and retrieve richer booking details for accommodation.

3.2 Orders/details/cars migration

Explore how to migrate to v3.2 and retrieve richer booking details for cars.


What's next

  • Check the v3.2 Orders API reference for details in fields.
  • Try the new version in this portal console.
  • Contact your Booking.com technical account manager for migration support.