What's New in API v2024.07.31

A changelog of what has changed in API v2024.07.31 (12/25)

Overview

Welcome to the What's New? page for the CiiRUS-API. Here, we provide a comprehensive overview of the latest updates, enhancements, and changes introduced in the most recent version. This section highlights key modifications made since previous versions, ensuring you're up-to-date with the latest features and improvements.

📘

Version Scope Notice

The information on this page describes how API v2024.07.31 differs from v2023.07.31 in its current form. Any incremental updates made after the initial rollout of v2024.07.31 are documented separately in the Changelog.

🚧

Currency Format Notice

All currency values in the API are returned in fixed-point format using a scale of 10⁸. For example, a value of 100000000 represents 1.00. This ensures precision in financial calculations. Be sure to adjust your implementation accordingly when parsing or displaying amounts.


Availability Endpoint

🔄 What's Changed?

  • GET /v2023.07.31/availability is now GET /v2024.07.31/unit_calendars
    • The endpoint has been renamed to reflect its updated functionality and now returns a richer, day-by-day unit calendar structure.
  • GET /v2023.07.31/availability/{unitId} is now GET /v2024.07.31/unit_calendars/{unit_id}
    • The unitId path parameter is now formatted as unit_id and the response has been expanded to include detailed per-day availability data.

❌ What's Removed?

  • POST /v2023.07.31/availability
    • Availability checks via this endpoint are no longer available.
  • POST /v2023.07.31/availability/{unitId}
    • Availability checks for specific units via POST have been removed.
  • PUT /v2023.07.31/availability/{unitId}
    • Alteration availability checks for specific units via this endpoint have been removed.
  • Query Parameters Removed:
    • calendarLength – Calendar length is no longer controlled via this parameter.
    • restrictions – Gap-day restriction enforcement is no longer toggled via this flag.

🆕 What's Added?

  • GET /unit_calendars introduces several new query parameters:
    • last_reservation_update_date (date-time) – Filters units that have received a booking (direct or calendar sync) after a specified date.
    • last_agent_module_property_update_date (date-time) – Filters units whose agent module property configuration has changed after a given date.
    • last_agent_module_agent_update_date (date-time) – Filters units whose agent module agent configuration has changed after a given date.
    • enabled (boolean) – Filters units by enabled/disabled status.
    • display_on_website (boolean) – Filters to units enabled for website display.
    • allocation_on_arrival (boolean) – Includes allocation-on-arrival information in the response.
    • allocation_on_arrival_unit (boolean) – Filters to units that are the representative unit in their allocation-on-arrival group.
    • fallback_rates (enum) – Controls how rate information is used when generating the calendar (explicitly_in_date_range_only, fallback_max_value_rate, fallback_max_value_rate_plus_guards).
    • reservation_id (int32) – Allows the calendar to be generated in the context of a specific booking.
    • allocated_reservations (array of int32) – Virtually allocates one or more reservations when generating availability.
    • category_to_ignore (int32) – Ignores reservations for a specific booking category when generating availability.
    • channel (enum) – Filters calendars by channel context (all, bdc, vrbo, airbnb).
    • listing_id (string) – Filters calendars by external listing identifier.
  • GET /unit_calendars/{unit_id}:
    • Now requires start and end dates to define the calendar window.
    • Supports reservation_id, allocated_reservations, category_to_ignore, fallback_rates, and channel to generate channel- and booking-context-aware calendars.

📝 What’s Modified?

  • Pagination Parameters Renamed:
    • pageSize is now page_size
  • Supplier Identifiers Renamed:
    • mcUserId is now management_company_user_id
    • mcUserIds is now management_company_user_ids
  • Unit Identifiers Renamed:
    • unitId is now unit_id
    • unitIds is now unit_ids
  • Update Timestamp Parameter Renamed:
    • lastUpdateDate is now last_unit_update_date
  • Calendar Window Parameters Updated:
    • calendarLength has been replaced by an explicit start and end date range.
    • start is now required for both /unit_calendars and /unit_calendars/{unit_id} and uses a date type (rather than optional date-time).
    • A new required end date parameter defines the end of the calendar range.
  • Updated Calendar Response Structure:
    • The response container has changed from calendars to unit_calendars.
    • Each unit now includes:
      • start_date and end_date for the returned window.
      • A days collection with per-day:
        • availability
        • availability_type
        • closed_to_arrival / closed_to_depature
        • minimum_nights / maximum_nights
        • stay_durations
        • Additional settings flags
      • An allocation_on_arrival object describing pooled availability when allocation-on-arrival is used.
      • An error object to surface unit-level issues when generating calendars.

Booking Endpoint

🔄 What's Changed?

  • POST /v2023.07.31/booking is now POST /v2024.07.31/reservations
    • The booking creation process has been renamed to align with the reservations workflow.
  • PUT /v2023.07.31/booking is now PUT /v2024.07.31/reservations or PUT /v2024.07.31/reservations/{reservation_id}
    • Updates to bookings now go through the reservations endpoint, and if a reservation ID is specified, it targets a specific reservation.

❌ What's Removed?

  • POST /v2023.07.31/booking
    • The old booking creation process is no longer available. Now, reservations are created using the /reservations endpoint.
  • PUT /v2023.07.31/booking
    • Updating bookings is now handled via /reservations with the updated parameter structure.
  • DELETE /v2023.07.31/booking/{bookingId}
    • The removal of bookings now happens using DELETE /reservations/{reservation_id}.
  • Request Fields Removed:
    • organization_id – The booking organization field is no longer supplied in the write payload.
    • source_id – The explicit source identifier is no longer part of the create/modify request body.

🆕 What's Added?

  • Consolidated Booking Operations into Reservations:
    • Create Booking → now performed via POST /reservations using the reservation schema (unit_id, type, details, guests, comments, financials, etc.).
    • Cancel Booking → now performed via DELETE /reservations/{reservation_id}, returning the updated reservation (including details and type) instead of a minimal cancellation payload.

📝 What’s Modified?

  • Endpoint & Identifier Migration:
    • Booking write operations moved from /booking/reservations.
    • booking_id → standardized reservation id (and reservation_id in path parameters).
    • inventory_idunit_id.
  • Status Representation:
    • type enums are now lower case:
      • CONFIRMEDconfirmed
      • CANCELLEDcancelled
      • TENTATIVEtentative
    • Guest & Party Structure:
      • party_members + customer_details have been consolidated into a unified guests array with:
        • type (lead_guest, party_member, pet)
        • Contact info (phone_numbers, email_addresses)
        • address, notes, allow_marketing_emails
      • Headcount fields (number_of_adults, number_of_children, number_of_pets) are preserved but now live inside the expanded details object.
    • Comments Structure:
      • Comments remain, but are now under details.comments with enum values:
        • PRIVATE/GENERAL/SCRATCH_PADprivate/general/scratch_pad.
    • Financials & Currency Handling:
      • Old model:
        • financials[] with amount + amount_decimal_places
        • A flat total_amount + amount_decimal_places
      • New model:
        • financials.charges[] with value as 10⁸ fixed-point.
        • financials.total_value, financials.total_paid, amount_paid, etc. also stored as 10⁸ fixed-point.
        • Payments retain amount with amount_decimal_places for payment recording, but totals and charges are strictly fixed-point.
      • Update Patterns:
        • 2023: PUT /booking used a single booking payload.
        • 2024: Updates now use:
          • PUT /reservations for batch updates, and
          • PUT /reservations/{reservation_id} for targeted single-reservation updates, both using the expanded reservation schema.
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Content (Amenities) Endpoint

🔄 What's Changed?

  • GET /v2023.07.31/content/amenities is now GET /v2024.07.31/unit_amenities
    • The old endpoint has been renamed to /unit_amenities to provide a clearer purpose for retrieving unit amenities.
  • GET /v2023.07.31/content/amenities/{unitId} is now GET /v2024.07.31/unit_amenities/{unit_id}
    • The unitId path parameter is now formatted as unit_id for consistency across the API.

❌ What's Removed?

  • unitId – The unitId parameter is now called unit_id, which is a more consistent and clear naming convention.
  • unitIds – This parameter is now referred to as unit_ids in plural form.

🆕 What's Added?

  • GET /unit_amenities introduces several new query parameters:
    • last_unit_update_date (date-time) – Filters the response to only return units modified after a specified date.
    • last_reservation_update_date (date-time) – Filters for units that have received a booking or calendar sync after a specified date.
    • last_agent_module_property_update_date (date-time) – Filters for units where the agent module property configuration was modified after a specified date.
    • last_agent_module_agent_update_date (date-time) – Filters for units where the agent module agent configuration was modified after a specified date.
    • management_company_user_id (int32) – Filters results by the management company identifier.
    • enabled (boolean) – Filters for only enabled or disabled units.
    • display_on_website (boolean) – Filters for units enabled for display on the website.
    • allocation_on_arrival (boolean) – Returns the allocation on arrival object.
    • allocation_on_arrival_unit (boolean) – Returns units that are representative units in their group.
  • GET /unit_amenities/{unit_id} introduces the unit_id path parameter, replacing unitId, and allows the retrieval of unit amenities with the same query parameters as the general endpoint.

📝 What’s Modified?

  • Query Parameters Renaming:
    • pageSize is now page_size for consistency
    • mcUserId is now management_company_user_id
    • mcUserIds is now management_company_user_ids
    • unitId is now unit_id
    • unitIds is now unit_ids

Content (Details) Endpoint

🔄 What's Changed?

  • GET /v2023.07.31/content/details is now GET /v2024.07.31/unit_details
    • The endpoint has been renamed to /unit_details to better reflect its purpose of retrieving unit-specific details.
  • GET /v2023.07.31/content/details/{unitId} is now GET /v2024.07.31/unit_details/{unit_id}
    • The unitId path parameter is now formatted as unit_id for consistency.

❌ What's Removed?

  • unitId – Replaced with unit_id for uniform naming conventions.
  • unitIds – Now unit_ids, ensuring consistency across parameters.

🆕 What's Added?

  • GET /unit_details introduces several new query parameters:
    • last_unit_update_date (date-time) – Filters response to only include units modified after a specified date.
    • last_reservation_update_date (date-time) – Filters for units that have received a booking or calendar sync after a specified date.
    • last_agent_module_property_update_date (date-time) – Filters for units with agent module property updates after a specified date.
    • last_agent_module_agent_update_date (date-time) – Filters for units with agent module agent updates after a specified date.
    • management_company_user_id (int32) – Filters by management company identifier.
    • enabled (boolean) – Filters results to show only enabled or disabled units.
    • display_on_website (boolean) – Filters to show only units enabled for website display.
    • allocation_on_arrival (boolean) – Returns the allocation on arrival object.
    • allocation_on_arrival_unit (boolean) – Returns units that are the representative unit in their group.
  • GET /unit_details/{unit_id} introduces the unit_id path parameter, replacing unitId, and allows retrieval of unit details with the same query parameters as the general endpoint.

📝 What’s Modified?

  • Query Parameters Renaming:
    • pageSize is now page_size for consistency
    • mcUserId is now management_company_user_id
    • mcUserIds is now management_company_user_ids
    • unitId is now unit_id
    • unitIds is now unit_ids

Content (Images) Endpoint

🔄 What's Changed?

  • GET /v2023.07.31/content/images is now GET /v2024.07.31/unit_images
    • The endpoint has been renamed to /unit_images to better align with unit-specific image retrieval.
  • GET /v2023.07.31/content/images/{unitId} is now GET /v2024.07.31/unit_images/{unit_id}
    • The unitId path parameter is now formatted as unit_id for consistency.

❌ What's Removed?

  • unitId – Replaced with unit_id for uniform naming conventions.
  • unitIds – Now unit_ids, ensuring consistency across parameters.
  • onlyFirstImage – No longer available in the new version.

🆕 What's Added?

  • GET /unit_images introduces several new query parameters:
    • last_unit_update_date (date-time) – Filters response to only include units modified after a specified date.
    • last_reservation_update_date (date-time) – Filters for units that have received a booking or calendar sync after a specified date.
    • last_agent_module_property_update_date (date-time) – Filters for units with agent module property updates after a specified date.
    • last_agent_module_agent_update_date (date-time) – Filters for units with agent module agent updates after a specified date.
    • management_company_user_id (int32) – Filters by management company identifier.
    • enabled (boolean) – Filters results to show only enabled or disabled units.
    • display_on_website (boolean) – Filters to show only units enabled for website display.
    • allocation_on_arrival (boolean) – Returns the allocation on arrival object.
    • allocation_on_arrival_unit (boolean) – Returns units that are the representative unit in their group.
  • GET /unit_images/{unit_id} introduces the {unit_id} path parameter, replacing {unitId}, and allows retrieval of unit images with the same query parameters as the general endpoint.

📝 What’s Modified?

  • Query Parameters Renaming:
    • pageSize is now page_size for consistency
    • mcUserId is now management_company_user_id
    • mcUserIds is now management_company_user_ids
    • unitId is now unit_id
    • unitIds is now unit_ids

Emails Endpoint

🔄 What's Changed?

  • The base path remains /emails, but it has been updated to /v2024.07.31 for consistency with the latest API version.
    • PUT /v2023.07.31/emails is now /v2024.07.31/emails
    • GET /v2023.07.31/emails/subaccount is now /v2024.07.31/emails/subaccount
    • POST /v2023.07.31/emails/subaccount is now /v2024.07.31/emails/subaccount
    • PUT /v2023.07.31/emails/subaccount is now /v2024.07.31/emails/subaccount
    • DELETE /v2023.07.31/emails/subaccount is now /v2024.07.31/emails/subaccount
  • No structural changes in functionality for sending emails or managing subaccounts.

❌ What's Removed?

  • No parameters or functionality have been removed.

🆕 What's Added?

  • No new fields or endpoints were introduced in this update.

📝 What’s Modified?

  • Version Update: All endpoints now use /v2024.07.31 instead of /v2023.07.31
  • Formatting Adjustments: Parameters and request structures remain the same.

Inventory Endpoint

🔄 What's Changed?

  • The base path has been renamed from /inventory to /units in v2024.07.31.
    • GET /v2023.07.31/inventory is now /v2024.07.31/units
    • PUT /v2023.07.31/inventory is now /v2024.07.31/units
    • GET /v2023.07.31/inventory/{unitId} is now /v2024.07.31/units/{units_id}
    • PUT /v2023.07.31/inventory/{unitId} is now /v2024.07.31/units/{units_id}
  • More granular filtering options have been introduced for retrieving units.

❌ What's Removed?

  • Community Filtering (communityId): No longer available in the query parameters.
  • Permissions & Airbnb Context (permissions, airbnb): These parameters have been removed.
  • no_total parameter has been removed.

🆕 What's Added?

  • New Query Parameters for Filtering Units:
    • last_reservation_update_date: Filters units that have received a booking (either direct or via calendar sync) after a specified date.
    • last_agent_module_property_update_date & last_agent_module_agent_update_date: Tracks modifications in the agent module property and agent configurations.
    • listing_id: Allows lookup by listing ID.

📝 What’s Modified?

  • Pagination Parameters Renamed:
    • pageSize is now page_size
  • Supplier Identifiers Renamed:
    • mcUserId is now management_company_user_id
    • mcUserIds is now management_company_user_ids
  • Updated Structure for Unit Updates:
    • Now uses units/{unit_id} instead of inventory/{unitId}

LengthOfStay Endpoint

🔄 What's Changed?

  • The endpoint structure has been renamed from /los/bwlayers and /los/loslayers to /layers/length and /layers/window in v2024.07.31.
  • BW and LoS layers have been consolidated into "Length Layers" and "Window Layers" under the new /layers/ namespace.

❌ What's Removed?

  • Decimal Places (decimal_places): No longer required.
  • User ID (user_id): Now replaced with management_company_user_id

🆕 What's Added?

  • Management Company Identifier (management_company_user_id): Replaces user_id to standardize ownership of layers.
  • Separation of Length and Window Layers:
    • /layers/length: Handles traditional Length of Stay logic.
    • /layers/window: Introduced for different pricing or restriction layers.

📝 What’s Modified?

  • Path Parameter Renaming:
    • layerId is now referred to as layer_id.
  • Endpoint Paths Updated:
    • /los/bwlayers/ is now /layers/length/
    • /los/loslayers/ is now /layers/window/
  • Multipliers & Layer Properties Remain the Same but are now used for both length and window layers.
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Payments Endpoint

🔄 What's Changed?

  • Endpoint Renaming:
    • /payments is now referred to as /transactions, reflecting a broader scope beyond payments.
  • Terminology Updates:
    • reservationId is now reservation_id
    • reservationIds is now reservation_ids
    • transactionId is now transaction_id
    • transactionIds is now transaction_ids
    • paymentStatus is now transaction_status
  • New Required Fields:
    • start_date and end_date are now required, ensuring a defined date range for transactions.

❌ What’s Removed?

  • decimalPlaces is no longer configurable.
  • Payments-Specific Terminology: Now generalized as transactions, covering refunds, charges, and adjustments.

🆕 What’s Added?

  • no_total (boolean) has been introduced, defaulting to false. This allows users to exclude total page counts for faster results.
  • More explicit naming for transaction lookups:
    • transaction_id_query is now explicitly labeled to avoid confusion with transaction_ids (array).
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Quotes Endpoint

🔄 What’s Changed?

  • Endpoint & Naming Changes:
    • Old Endpoint: /quote
    • New Endpoint: /unit_quotes/{unit_id}
      • The endpoint has been renamed and requires a unit_id as a path parameter.
      • The path now includes {unit_id} instead of using inventory_id in the body.
    • Old Endpoint for Multiple Quotes: /quotes
    • New Endpoint for Multiple Quotes: /unit_quotes
      • The endpoint for retrieving multiple quotes has also been renamed and is now /unit_quotes instead of /quotes.
  • Terminology & Parameter Changes:
    • inventory_id is now unit_id (moved to the path parameter in the URL).
      • Previously in the request body as an integer.
      • Now it’s required in the path to uniquely identify the unit.
    • organization_id is now management_company_user_id.
      • This was previously an optional field and is now renamed for clarity.
    • source_id is now reference.
      • The previous source_id field is replaced by reference.
    • optional_extras is now moved under charges (within financials):
      • Previously represented in the body as an array of integers.
      • Now it is part of a structured object within the financials object.
    • discount_code remains, but now it is placed under financials.
      • Previously part of the main body, now nested under financials.
    • thread_id is now included in the details object.
      • Previously was a separate top-level field.
  • Expanded Guest Information:
    • party_members is now renamed to guests (which is a nested object):
      • This object includes more structured and detailed guest information.
      • New guest details include:
        • first_name (string)
        • last_name (string)
        • phone_numbers (array of strings)
        • email_addresses (array of strings)
        • address (object):
          • Contains notes, allow_marketing_emails (boolean), and airbnb_guest_id.
        • id (integer) – CRM ID of the guest.
        • type (string, required)
        • lead_guest (boolean, explicitly supported).
  • Structure Improvements:
    • origination_date has now been added:
      • Tracks the date and time when the quote was originally created.
    • expiration is now included:
      • This field indicates when the quote or tentative reservation expires.
    • cancelled_on now tracks reservation cancellations:
      • This is a new field, indicating when a reservation has been canceled.
    • category, category_id, and category_description are now explicitly defined:
      • These were previously undefined, but now explicitly describe the reservation category associated with the Agent.
    • secure_details now contains additional security-related fields for access:
      • lock_box_code, gate_code, alarm_code, wifi_ssid, wifi_password.
  • Financial Structure Changes:
    • financials is now a more structured object that includes:
      • charges (array of objects with detailed charge information):
        • item (string)
        • id (integer)
        • code (string)
        • quantity (integer)
        • charge_type (string)
        • amount (integer)
      • payments (array of objects with detailed payment tracking):
        • amount (integer)
        • amount_decimal_places (integer, now defaults to 2)
        • payment_date (date-time)
        • payment_schedule (array of objects for scheduled payments)
        • total_paid (total amount paid by the customer)
        • total (total reservation value)
        • currency (string)
      • merchant_of_record (new field)
      • merchant_of_record_user (new field)
    • scenario has been added:
      • Identifies different reservation viewing scenarios, giving more flexibility in quoting and viewing.
    • allocation_on_arrival and allocation_on_arrival_unit (new fields) provide more flexibility in the reservation and allocation process.
    • fallback_rates (new query parameter):
      • Ensures that length-of-stay pricing is applied when available.
    • length_of_stay (boolean field under financials):
      • Indicates whether length-of-stay pricing is applicable.

❌ What’s Removed?

  • amount_decimal_places from payment_schedule:
    • Pricing now uses micros, and this field is no longer necessary.
  • decimalPlaces field for total calculations has been removed:
    • The new structure uses more precise calculations.
  • source and source_id have been removed:
    • These fields are no longer needed, replaced by reference.
  • party_members has been removed:
    • This has been replaced by the more structured and detailed guests object.
  • optional_extras is removed from the body and is now part of charges under financials.
  • thread_id has been removed from the top-level fields and moved into the details object.

🆕 What’s Added?

  • financials explicitly groups and structures financial data:
    • charges, payments, currency, merchant_of_record, and merchant_of_record_user are all part of financials.
  • scenario allows defining multiple reservation viewing conditions.
  • allocation_on_arrival and allocation_on_arrival_unit offer more flexible booking and allocation options.
  • fallback_rates enables better pricing flexibility by using length-of-stay pricing.
  • merchant_of_record and merchant_of_record_user track transaction ownership.
  • length_of_stay ensures length-of-stay pricing is applied.
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Rates (Rental) Endpoint

🔄 What’s Changed?

  • Endpoint Renaming & Structure Updates
    • Old:
      • /v2023.07.31/rates
      • /v2023.07.31/rates/{unitId}
    • New:
      • /v2024.07.31/unit_rental
      • /v2024.07.31/unit_rental/{unit_id}
  • Terminology & Parameter Updates
    • Page Size Parameter:
      • pageSize is now page_size (case change).
    • Query Parameter Changes:
      • mcUserId is now management_company_user_id
      • mcUserIds is now management_company_user_ids
      • unitId is now unit_id (with underscores instead of camel case)
      • unitIds is now unit_ids
      • ratesLength is now maximum_future_days (more descriptive)
      • lastUpdateDate is now split into more specific parameters:
        • last_unit_update_date
        • last_reservation_update_date
        • last_agent_module_property_update_date
        • last_agent_module_agent_update_date
  • New Parameters Added:
    • enabled (boolean): Filters results to only include enabled or disabled units.
    • display_on_website (boolean): Filters results based on whether the unit is enabled for the website.
    • allocation_on_arrival (boolean): Returns the allocation on arrival object.
    • allocation_on_arrival_unit (boolean): Returns units which are the representative unit in their group.
    • channel (string): Specifies the channel for the rates.
  • Date Parameters Changes:
    • start and end (now required) for the date range of rate information.
    • start (date) and end (date) now appear for both unit rental query and individual unit rental query.
  • Query for Length of Stay:
    • lengthOfStay is now included in the query as fallback_rates (boolean) under both endpoints, ensuring length-of-stay pricing is applied if available.

❌ What’s Removed?

  • Removed Parameters:
    • ratesLength has been replaced by maximum_future_days
    • lastUpdateDate is now split into more specific query parameters and is no longer a single parameter.
    • The minValue and maxValue parameters are removed, as they were specific to the old implementation of rate guards.
    • no_total parameter has been removed.

🆕 What’s Added?

  • New Query Parameters & Improvements:
    • management_company_user_id and management_company_user_ids replace mcUserId and mcUserIds for more precise filtering of suppliers.
    • enabled filters units based on whether they are enabled or disabled.
    • display_on_website filters units specifically enabled for the website.
    • allocation_on_arrival and allocation_on_arrival_unit provide more flexibility with arrival unit allocation queries.
    • Additional date fields such as last_agent_module_property_update_date and last_agent_module_agent_update_date provide more detailed tracking for unit updates.
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Rates (Extras) Endpoints

🔄 What's Changed?

  • GET /v2023.07.31/rates/extras is now GET /v2024.07.31/unit_extras
    • The endpoint has been renamed to align with the updated unit-based API structure.
  • GET /v2023.07.31/rates/extras/{unitId} is now GET /v2024.07.31/unit_extras/{unit_id}
    • The unitId path parameter is now formatted as unit_id for consistency.
  • The extras model has been expanded significantly to support advanced extra logic such as date-range rules, age bands, stay duration rules, quantity rules, value types, and vendor/supplier allocation.

❌ What's Removed?

  • Legacy Endpoints:
    • /rates/extras
    • /rates/extras/{unitId}
  • Removed Parameters:
    • airbnb – No longer available in the Extras endpoints.

🆕 What's Added?

  • GET /unit_extras introduces several new query parameters:
    • last_unit_update_date (date-time) – Filters for units modified after a specified date.
    • last_reservation_update_date (date-time) – Filters for units that received a booking or calendar sync after a specified date.
    • last_agent_module_property_update_date (date-time) – Filters for units with agent module property updates.
    • last_agent_module_agent_update_date (date-time) – Filters for units with agent module agent updates.
    • enabled (boolean) – Filters for enabled or disabled units.
    • display_on_website (boolean) – Filters units enabled for website display.
    • allocation_on_arrival (boolean) – Returns allocation-on-arrival information.
    • allocation_on_arrival_unit (boolean) – Returns units that are the representative unit in their group.
    • channel (enum) – Specifies channel context (all, bdc, vrbo, airbnb).
    • listing_id (string) – Filters by listing ID.
    • retrieve_all_extras (boolean) – Returns all extras regardless of rule applicability.
    • include_extras_without_value (boolean) – Includes zero-value extras.
  • GET /unit_extras/{unit_id} introduces the updated path parameter and supports the same new selectors as the main endpoint.

📝 What’s Modified?

  • Query Parameter Renaming:
    • pageSize is now page_size
    • mcUserId is now management_company_user_id
    • mcUserIds is now management_company_user_ids
    • unitId is now unit_id
    • unitIds is now unit_ids
    • retrieveAllExtras is now retrieve_all_extras
  • Updated Structure for Retrieving Extras:
    • Retrieving extras is now unit-driven using /unit_extras and /unit_extras/{unit_id}
    • The new schema includes expanded logic that replaces the 2023 model:
      • Mandatory extras
      • Per-guest pricing
      • Per-day pricing
      • Guest-quantity ranges
      • Stay-duration ranges
      • Age-band pricing
      • Date-range restrictions (bookable and effective)
      • Full-stay requirements
      • Percent vs fixed value (value_type)
      • Minimum and maximum values
      • Vendor, supplier, owner, and MC allocations
      • Insurance policy class
      • Channel-specific visibility
      • Optional inclusion of zero-value extras
    • Tax Structure Updated:
      • applicable_taxes now uses a simple enum string array (e.g., "tax_one"), replacing the v2023 object structure.
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Rates (Fees) Endpoints

🔄 What's Changed?

  • GET /v2023.07.31/rates/fees is now GET /v2024.07.31/unit_quotes
    • The endpoint is now part of the unit-based quoting architecture, returning all fee-related configuration for a unit.
  • GET /v2023.07.31/rates/fees/{unitId} is now GET /v2024.07.31/unit_quotes/{unit_id}
    • The unitId path parameter has been updated to unit_id for consistency.
  • Fee retrieval no longer uses the Rates namespace and is now delivered through the unified quote options structure.

❌ What's Removed?

  • Legacy Endpoints:
    • /rates/fees
    • /rates/fees/{unitId}
  • Airbnb Context Parameter (airbnb): This has been removed as a query parameter.

🆕 What's Added?

  • New /unit_quotes Endpoint:
    • Allows more granular filtering using updated query parameters.
  • New Query Parameters for Enhanced Filtering:
    • last_unit_update_date (date-time): Filters units modified after a specified date.
    • last_reservation_update_date (date-time): Filters units that received a booking after a specified date.
    • last_agent_module_property_update_date (date-time): Tracks changes in agent module property settings.
    • last_agent_module_agent_update_date (date-time): Tracks changes in agent module agent settings.
    • enabled (boolean): Filters based on whether a unit is enabled or disabled.
    • display_on_website (boolean): Filters units enabled for website display.
    • allocation_on_arrival (boolean): Returns allocation-on-arrival details.
    • allocation_on_arrival_unit (boolean): Filters for representative units in grouped properties.
    • channel (enum): Filters results for a specific channel (all, bdc, vrbo, airbnb).
  • GET /unit_quotes/{unit_id} introduces the updated path parameter and supports channel filtering.

📝 What’s Modified?

  • Query Parameter Renaming:
    • pageSize is now page_size
    • mcUserId is now management_company_user_id
    • mcUserIds is now management_company_user_ids
    • unitId is now unit_id
    • unitIds is now unit_ids
  • Updated Structure for Retrieving Fees:
    • Retrieving Fees is now unit-driven using /unit_quotes and /unit_quotes/{unit_id}.
    • The new schema consolidates all fee-related configuration for the unit, including:
      • Cleaning fee settings
      • Booking fee configuration
      • Security deposit amounts and settings
      • Pool heat and spa heat pricing
      • Fee/tax rules and inclusion flags
      • Percentage distributions to management company or owner
      • Down-payment and balance-due rules
      • Minimum night stay, gap days, and validity windows
      • Daily rate factors for short/long stays
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Rates (Ratesets) Endpoint

🔄 What's Changed?

  • Endpoint URL has changed:
    • Old: /v2023.07.31/rates/ratesets
    • New: /v2024.07.31/ratesets
  • Query Parameter Renaming:
    • pageSize is now page_size for consistency with other endpoints.
    • The mcUserId and mcUserIds parameters have been replaced with management_company_user_id and management_company_user_ids
    • unitId and unitIds parameters have been renamed to unit_id and unit_ids to follow the new naming convention
    • excludeExpiredRates parameter has been renamed to exclued_expired_rates

❌ What's Removed?

  • lastUpdateDate is no longer available; instead, filters have been streamlined.

🆕 What's Added?

  • New rateset_id and rateset_ids parameters for retrieving specific rateset(s).
  • arrival_days and departure_days arrays are added to rate_bands for more granular control over arrival and departure day filtering.
  • no_total parameter added to improve performance by omitting the total page count.

📝 What’s Modified?

  • rate_band has been expanded with new fields:
    • arrival_days and departure_days as arrays for finer control over specific days.
    • minimum_nights_stay is now more specific at the unit level.
  • rate_band includes the floor_rate, season_name, and maximum_nights_stay fields for additional flexibility in rate bands.
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Reservations Endpoint

🔄 What's Changed?

  • The Reservations endpoint structure has been completely reorganized and renamed to /reservations, streamlining the way reservations are retrieved and created.
  • The new /reservations endpoint combines several older functionalities and introduces more granular filters to allow developers to query more specific reservation data.

❌ What's Removed?

  • Legacy Endpoints:
    • The older PUT /reservations/{reservationId} and /reservations/{reservationId} have been consolidated into the new /reservations endpoint.
    • The filtering parameters like status, check_in, and check_out have been replaced by more advanced filtering parameters.
  • Query Parameters:
    • communityId and airbnb have been deprecated.
    • no_total parameter has been removed.
    • The legacy filtering method based on reservation status (e.g., confirmed, cancelled, etc.) has been replaced with more precise date filtering parameters.

🆕 What's Added?

  • New /reservations Endpoint:
    • Handles both the retrieval and creation of reservations in one unified endpoint.
    • Supports complex filtering based on multiple parameters, allowing for highly customized queries.
    • Nested elements like guests, financials, and secure_details have been added in the body for reservation creation, providing more structured data input.
  • Enhanced Query Parameters:
    • reservation_ids: Filter by multiple reservation IDs (previously only one ID was supported).
    • references: Allows filtering by multiple reservation references (e.g., booking ID).
    • modified_start and modified_end: Filters based on reservation modification time (useful for tracking updates).
    • arrival_start and arrival_end: Filters based on the reservation’s arrival date range.
    • departure_start and departure_end: Filters based on the reservation’s departure date range.
    • cancelled_start and cancelled_end: Filters for cancelled reservations, based on cancellation date.
    • cancelled: Boolean filter for cancellations (previously done through status).
    • quote: Filter for reservations linked to specific quotes.
    • tentative: Filter by tentative reservation status.
    • merchant_of_record: Filter by the unit’s merchant of record, useful for financial filtering.
    • home_away_sync: Filter by HomeAway synchronization status, if relevant.
  • New Body Parameters for Reservation Creation:
    • guests: Detailed guest information including name, email, phone number, number of adults/children/pets, etc.
    • financials: Reservation financial breakdown, including total charges, payments, discounts, taxes, etc.
    • secure_details: Sensitive reservation details such as lockbox codes, WiFi access, and other secure information.
    • comments: New parameter for adding reservation-specific comments.

📝 What’s Modified?

  • Pagination Parameters Renamed:
    • page_size replaces pageSize for consistency across endpoints.
    • page behavior remains unchanged but ensure to update to the new pagination system.
  • Management Company IDs Renaming:
    • mcUserId has been updated to management_company_user_id
    • mcUserIds has been renamed to management_company_user_ids for better clarity when working with multiple IDs.
  • Updated Structure for Reservation Data:
    • The response data now contains more granular fields. For example:
      • financials: Previously flat, now nested under each reservation object.
      • guests: Nested under the reservation object to store guest information, including name, contact details, etc.
    • Secure details such as lockbox codes are now included under a separate secure_details object.
  • Body Structure Changes for Reservation Updates:
    • The body structure for creating and updating reservations has been expanded. Now includes separate objects for guests, financials, and secure_details rather than having them as flat fields. This change improves data organization and flexibility.
  • Modified Query Parameter for Filtering by Status:
    • Instead of using a single status parameter to filter by reservation status, developers can now use a combination of cancelled, quote, and tentative for finer control over reservation status queries.
    • Date-based filtering: Parameters like arrival_start, departure_end, and others now offer more precise filtering options by date range rather than a general status check.
📘

Note: Currency values utilized by this endpoint use 10⁸ fixed-point format (e.g. 100000000 = $1.00).


Suppliers Endpoint

🔄 What's Changed?

  • Endpoint URL has changed:
    • Old: /v2023.07.31/suppliers
    • New: /v2024.07.31/suppliers
  • The query parameter pageSize has been renamed to page_size for consistency.

🆕 What's Added?

  • Query Parameter:
    • no_total (boolean): Defaults to false. If set to true, removes the total page count from the response to improve performance for large result sets.
    • active (boolean): Filters suppliers by activity status. Only returns suppliers marked as active when set to true.