> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://bcdtravel.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://bcdtravel.ferndocs.com/_mcp/server.

# API Change Log (comparing to v1.5)

## v2.0 Changes

* **CHANGE** — Added data validation for `vpa_payment_instructions` and `special_request` attributes in the request of the book API method.
* **ADD** — Added new response parameters `vpa_card_pools` and `vpa_payment_instructions` to `get_checkout_data` API method to assist with VPA payment flow. `vpa_card_pools` contains list of available card pools for booking. `vpa_payment_instructions` contains default payment instructions that should be sent in booking request.
* **ADD** — Added new request parameter `previous_booking_uid` to `get_checkout_data` API method to assist with booking modification flow.
* **ADD** — Added structure `taxes_and_fees` to response of the `get_availability` API method.
* **ADD** — Added support for rental car and air shopping and booking.
* **DELETE** — Deleted `get_profile_info` API method.
* **ADD** — Added `default_counter_offer_email` to the response of `get_checkout_data` to assist with on-request booking flow.
* **ADD** — Added `sort_metric` to the response of `get_list` to assist with sorting that involves dynamic values.
* **CHANGE** — Changed the `phone` attribute returned in `default_billing_address` of `get_checkout_data` from string to an object that also includes country code.
* **ADD** — Added ability to return alternative hotels for single hotel searches in `get_list` via new optional boolean `suggest_alternative` (returns up to 10 alternatives if the requested hotel is sold out).
* **ADD** — Added support for new status filter `"pending"` to the `get_reservation_list` API methods.
* **ADD** — Added new attribute `potential_squatter` to each rate in the response of `get_rates`, `get_rate_details`, `get_reservation_details`, and `get_recommended_rate` API methods.
* **FIX** — Changed logic for the email address calculation submitted in `default_counter_offer_email` of `get_checkout_data`.
* **ADD** — Added specific text returned for `res_payment_description` attribute in `get_reservation_details` for SPC provider by invoice payment method.
* **ADD** — Added `has_ecofriendly_badge` boolean attribute to the response of `get_list` and `get_detailed_info` for hotels with an eco-friendly badge according to TrustYou.
* **ADD** — Added `merchant_of_record` field to each rate in `get_rates`, `get_rate_details`, `get_reservation_details`, and `get_recommended_rate` that indicates who the merchant of record is (e.g. `"supplier"` or `"property"`).
* **ADD** — Added new `rate_target` object to the response of `get_availability` to reflect medium price by hotels search.
* **ADD** — Added new object `additional_company_ids` to the response of `get_reservation_details` containing various internal IDs (e.g. GCN, SMID, SAP, etc).
* **ADD** — Added `is_on_request_hotel` boolean to `get_detailed_info` and `get_list` for hotels where some rates might be on-request.
* **ADD** — Added `is_on_request` boolean to `get_rates`, `get_rate_details`, `get_recommended_rate`, and `get_reservation_details` for rates that are on-request and require special handling.
* **ADD** — Added new optional request attribute `is_on_request` to the `book` API method for receiving counter-offer emails for on-request reservations.
* **ADD** — Added support for pending booking status in `get_reservation_details` and `get_reservation_list` for on-request reservation processing.
* **FIX** — Added validation that prevents cases when CC number is passed together with the index of a credit card from traveler profile to the `book` API method.
* **DELETE** — Completely deprecated `entity_id` as a request parameter from `cancel`, `get_reservation_details`, and `rebook` API methods.
* **DELETE** — Deprecated `chain_name` attribute from the response of `get_rate_details`, `get_reservation_details`, and `get_recommended_rate`.
* **CHANGE** — Moved `commission_repr` attribute in the response of `get_rate_details` inside the new `"commission"` structure.
* **CHANGE** — Added data validation for `credit_card_country_code` attribute in the request of the `book` API method.
* **CHANGE** — Replaced the authentication schema, where the signature is now sent via HTTP header (`X-SIGNATURE`) and the message being signed is a concatenation of a request URL path (including the query) and a request body.
* **CHANGE** — Added more details about the rate being booked to the response of `get_reservation_details` and moved all rate-related attributes into `"rate_details"` container.
* **CHANGE** — Replaced `alt_company_id` request parameter of `get_entity_id` with `tspm_company_id`, `obt_company_id`, and `smid_company_id`.
* **CHANGE** — Moved some API methods that are not hotel-specific outside of the `/hotels` endpoint (e.g. `/v2.0/get_entity_id/` instead of `/v2.0/hotels/get_entity_id/`).
* **DELETE** — `entity_id` is no longer a required and supported request attribute for `get_errors` API call.
* **DELETE** — `credit_card_type` is no longer a required and supported request attribute for `book` API call.
* **CHANGE** — Changed the `commissionable` attribute in the response of `get_rates`, `get_rate_details`, and `get_recommended_rate` to return `null` in addition to `true`/`false`.
* **REMOVE** — Removed `other_fees_description` attribute from the response of `get_detailed_info` as it duplicates information returned in the `policy` attribute.
* **ADD** — Added new `tax_details` element to the response of `get_rate_details`.
* **CHANGE** — Moved `promo_messages` response attribute from `get_availability` to `get_list`.
* **CHANGE** — Split "Internet" amenity into "Internet" and "WiFi" with new codes: `INTT` (internet), `FINTT` (free internet), `WIFI` (wifi), `FWIFI` (free wifi).