Skip to content

HotelApi Changelog

2.2.0-alpha.1

Rolls the published reference forward from 2.0.16-rc.1 and bundles every change made since then (2.0.17 to 2.2.0), including the channel-manager foundation and the unit-assignment endpoints.

Breaking changes

  • All error responses use RFC 9457 ProblemDetails (application/problem+json).
  • Units are first-level resources (/units, /units/{unitId}) and are no longer nested under unit types.
  • /ameneties has been renamed to /amenities.
  • PUT operations on amenities, profiles, properties, stays, stay services, unit types and units return 204 No Content instead of 200 with a body.
  • PUT /reservations/{reservationId}/stays/{stayId} accepts a single stay object. POST /reservations/{reservationId}/stays takes a ReservationStayRequest (with profiles, services and amount).
  • Creating or replacing a reservation:
    • stays require startDate and endDate
    • stays, units, profiles and reservationIds need at least one item
    • the stay amount (currency, dueAmount, totalAmountWithTax, totalAmountWithoutTax) and the service amounts are required
  • The stay status Canceled is now spelled Cancelled everywhere, and Unconfirmed has been added.
  • Currency fields (amount.currency, currencyCode) only accept ISO 4217 codes from the enum.
  • The filter query parameter of the availability endpoints is an object (deep-object style) instead of a string. Unit availability uses startDate and endDate instead of start and end.
  • UnitStatusType has the new values Inspected, OutOfOrder and OutOfService, and consumers must accept them. Availability treats OutOfOrder and OutOfService as out of inventory. A unit's status is optional and defaults to Dirty (previously Clean).

New

  • Unit assignment: POST /reservations/{reservationId}/unit-assignments and POST /reservations/{reservationId}/stays/{stayId}/unit-assignment.
  • Payments: GET /payments, GET /payments/{paymentId}, DELETE /payments/{paymentId}, and record-payment actions on reservations and stays.
  • PMS provider capabilities and extensions: GET /pms/providers/{configurationId}/capabilities and GET|POST|DELETE /pms/providers/{configurationId}/extensions/{extensionName}.
  • New operations:
    • POST /batch/units
    • POST /rate-plans
    • PUT and DELETE /rate-plans/{ratePlanId}
    • DELETE for reservations, properties, unit types, units and amenities
  • 409 Conflict when a deleted resource is still referenced.
  • Channel-manager models: channels, rate plans with meal plan, currency and guarantee, cancellation policies, booking rules, rate amounts and guarantees. externalId and PMS extension properties were added to profiles, reservations and stays.

Changes since 2.0.16-rc.1. Operations: 22 added, 48 changed, 2 removed · 182 breaking changes

Detected breaking changes

182 breaking changes in 38 operations
  • GET /ameneties
    • api path removed without deprecation
  • GET /availability/reservations/{reservationId}/stays/{stayId}/units
    • for the 'query' request parameter 'filter', the type/format was changed from 'string'/'' to 'object'/''
    • removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/end' from the response with the '200' status
    • removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/start' from the response with the '200' status
  • GET /availability/reservations/{reservationId}/units
    • for the 'query' request parameter 'filter', the type/format was changed from 'string'/'' to 'object'/''
    • removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/end' from the response with the '200' status
    • removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/start' from the response with the '200' status
  • GET /availability/unit-types
    • for the 'query' request parameter 'filter', the type/format was changed from 'string'/'' to 'object'/''
  • GET /availability/units
    • for the 'query' request parameter 'filter', the type/format was changed from 'string'/'' to 'object'/''
    • removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/end' from the response with the '200' status
    • removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/start' from the response with the '200' status
  • GET /profiles
    • removed the media type 'application/vnd.api+json' for the response with the status '400'
    • removed the media type 'application/vnd.api+json' for the response with the status '401'
    • removed the media type 'application/vnd.api+json' for the response with the status '403'
    • removed the media type 'application/vnd.api+json' for the response with the status '404'
    • removed the media type 'application/vnd.api+json' for the response with the status '422'
    • removed the media type 'application/vnd.api+json' for the response with the status '429'
    • removed the media type 'application/vnd.api+json' for the response with the status '500'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/addresses/items/addressLine' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/addresses/items/addressType' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/addresses/items/city' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/addresses/items/company' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/addresses/items/stateProv' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/addresses/items/zip' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/birthDate' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/companyName' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/gender' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/middleName' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/nationality' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/profileType' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/title' became nullable for the status '200'
    • the '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/number' response property's maxLength was increased from '32' to '64' for the response status '200'
    • the '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/birthDate' response property's minLength was decreased from '1' to '0' for the response status '200'
  • GET /properties
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Property -> subschema #2: Property]/allOf[subschema #1]/address/addressLine' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Property -> subschema #2: Property]/allOf[subschema #1]/address/addressType' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Property -> subschema #2: Property]/allOf[subschema #1]/address/city' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Property -> subschema #2: Property]/allOf[subschema #1]/address/company' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Property -> subschema #2: Property]/allOf[subschema #1]/address/stateProv' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Property -> subschema #2: Property]/allOf[subschema #1]/address/zip' became nullable for the status '200'
  • GET /properties/{propertyId}
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/addressLine' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/addressType' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/city' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/company' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/stateProv' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/zip' became nullable for the status '200'
  • GET /rate-plans
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/parentId' became nullable for the status '200'
  • GET /rate-plans/{ratePlanId}
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/parentId' became nullable for the status '200'
  • GET /reservations
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/addressLine' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/addressType' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/city' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/company' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/stateProv' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/zip' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/birthDate' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/companyName' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/gender' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/middleName' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/nationality' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/profileType' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/title' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #2]/services/items/description' became nullable for the status '200'
    • the '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/number' response property's maxLength was increased from '32' to '64' for the response status '200'
    • the '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/birthDate' response property's minLength was decreased from '1' to '0' for the response status '200'
    • removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/end' from the response with the '200' status
    • removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/ratePlan' from the response with the '200' status
    • removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/start' from the response with the '200' status
    • removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #2]/ratePlan' from the response with the '200' status
  • GET /reservations/{reservationId}
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/addressLine' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/addressType' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/city' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/company' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/stateProv' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/zip' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/birthDate' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/companyName' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/gender' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/middleName' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/nationality' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/profileType' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/title' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #2]/services/items/description' became nullable for the status '200'
    • the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/number' response property's maxLength was increased from '32' to '64' for the response status '200'
    • the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/birthDate' response property's minLength was decreased from '1' to '0' for the response status '200'
    • removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/end' from the response with the '200' status
    • removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/ratePlan' from the response with the '200' status
    • removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/start' from the response with the '200' status
    • removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #2]/ratePlan' from the response with the '200' status
  • GET /services
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Service -> subschema #2: Service]/description' became nullable for the status '200'
  • GET /services/{serviceId}
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/description' became nullable for the status '200'
  • GET /status
    • removed the media type 'application/vnd.api+json' for the response with the status '401'
    • removed the media type 'application/vnd.api+json' for the response with the status '403'
    • removed the media type 'application/vnd.api+json' for the response with the status '429'
    • removed the media type 'application/vnd.api+json' for the response with the status '500'
  • GET /unit-types/{unitTypeId}/units
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' became optional for the status '200'
    • the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response's property type/format changed from 'string'/'' to ''/'' for status '200'
  • GET /units
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' became optional for the status '200'
    • the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response's property type/format changed from 'string'/'' to ''/'' for status '200'
  • GET /units/{unitId}
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' became optional for the status '200'
    • the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response's property type/format changed from 'string'/'' to ''/'' for status '200'
  • PATCH /availability/units/{unitId}
    • added the new required request property '/items/endDate'
    • added the new required request property '/items/startDate'
  • PATCH /reservations/{reservationId}/stays/{stayId}
    • removed the enum value 'Canceled' of the request property 'status'
  • PATCH /units/{unitId}
    • request body became required
    • removed the media type 'application/json' from the request body
  • POST /ameneties
    • api path removed without deprecation
  • POST /batch/unit-types
    • the '/items/name' request property's minLength was increased from '0' to '1'
    • removed the media type 'application/vnd.api+json' for the response with the status '201'
  • POST /properties
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/addressLine' became nullable for the status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/addressType' became nullable for the status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/city' became nullable for the status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/company' became nullable for the status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/stateProv' became nullable for the status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/zip' became nullable for the status '201'
  • POST /reservations
    • added the new required request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/endDate'
    • added the new required request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/startDate'
    • request property 'stays/items/allOf[subschema #2]/amount/currency' was restricted to a list of enum values
    • request property 'stays/items/allOf[subschema #2]/services/items/currencyCode' was restricted to a list of enum values
    • the request property 'stays/items/allOf[subschema #2]/amount/currency' became required
    • the request property 'stays/items/allOf[subschema #2]/amount/dueAmount' became required
    • the request property 'stays/items/allOf[subschema #2]/amount/totalAmountWithTax' became required
    • the request property 'stays/items/allOf[subschema #2]/amount/totalAmountWithoutTax' became required
    • the request property 'stays/items/allOf[subschema #2]/services/items/amountWithTax' became required
    • the request property 'stays/items/allOf[subschema #2]/services/items/amountWithoutTax' became required
    • the request property 'stays/items/allOf[subschema #2]/services/items/currencyCode' became required
    • removed the enum value 'Canceled' of the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/status'
    • the 'stays' request property's minItems was increased to '1'
    • the 'stays/items/allOf[subschema #1: Reservation Stay Create]/reservationIds' request property's minItems was increased to '1'
    • the 'stays/items/allOf[subschema #1: Reservation Stay Create]/units' request property's minItems was increased to '1'
    • the 'stays/items/allOf[subschema #2]/profiles' request property's minItems was increased to '1'
  • POST /reservations/{reservationId}/stays
    • request body became required
    • removed the media type 'application/vnd.api+json:' from the request body
    • removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/end' from the response with the '201' status
    • removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/ratePlan' from the response with the '201' status
    • removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/start' from the response with the '201' status
    • removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #2]/ratePlan' from the response with the '201' status
  • POST /services
    • request property 'currencyCode' was restricted to a list of enum values
    • the request property 'amountWithTax' became required
    • the request property 'amountWithoutTax' became required
    • the request property 'currencyCode' became required
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/description' became nullable for the status '201'
  • POST /unit-types
    • the '/allOf[subschema #1: Unit Type]/name' request property's minLength was increased from '0' to '1'
  • POST /units
    • added '#/components/schemas/UnitStatusType' to the '/allOf[subschema #1: Unit]/status' request property 'allOf' list
    • removed the enum value 'Clean' of the request property '/allOf[subschema #1: Unit]/status'
    • removed the enum value 'Dirty' of the request property '/allOf[subschema #1: Unit]/status'
    • the '/allOf[subschema #1: Unit]/status' request property type/format changed from 'string'/'' to ''/''
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' became optional for the status '201'
    • the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response's property type/format changed from 'string'/'' to ''/'' for status '201'
  • PUT /amenities/{amenityId}
    • removed the success response with the status '200'
  • PUT /profiles/{profileId}
    • removed the success response with the status '200'
  • PUT /properties/{propertyId}
    • removed the success response with the status '200'
  • PUT /reservations/{reservationId}
    • added the new required request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/endDate'
    • added the new required request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/startDate'
    • request property 'stays/items/allOf[subschema #2]/amount/currency' was restricted to a list of enum values
    • request property 'stays/items/allOf[subschema #2]/services/items/currencyCode' was restricted to a list of enum values
    • the request property 'stays/items/allOf[subschema #2]/amount/currency' became required
    • the request property 'stays/items/allOf[subschema #2]/amount/dueAmount' became required
    • the request property 'stays/items/allOf[subschema #2]/amount/totalAmountWithTax' became required
    • the request property 'stays/items/allOf[subschema #2]/amount/totalAmountWithoutTax' became required
    • the request property 'stays/items/allOf[subschema #2]/services/items/amountWithTax' became required
    • the request property 'stays/items/allOf[subschema #2]/services/items/amountWithoutTax' became required
    • the request property 'stays/items/allOf[subschema #2]/services/items/currencyCode' became required
    • removed the enum value 'Canceled' of the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/status'
    • the 'stays' request property's minItems was increased to '1'
    • the 'stays/items/allOf[subschema #1: Reservation Stay Create]/reservationIds' request property's minItems was increased to '1'
    • the 'stays/items/allOf[subschema #1: Reservation Stay Create]/units' request property's minItems was increased to '1'
    • the 'stays/items/allOf[subschema #2]/profiles' request property's minItems was increased to '1'
    • removed the media type 'application/vnd.api+json' for the response with the status '204'
  • PUT /reservations/{reservationId}/stays/{stayId}
    • added '#/components/schemas/ReservationStayCreate, subschema #2' to the request body 'allOf' list
    • the request's body type/format changed from 'object'/'' to ''/''
    • removed the success response with the status '200'
  • PUT /reservations/{reservationId}/stays/{stayId}/services
    • removed the success response with the status '200'
  • PUT /services/{serviceId}
    • request property 'currencyCode' was restricted to a list of enum values
    • the request property 'amountWithTax' became required
    • the request property 'amountWithoutTax' became required
    • the request property 'currencyCode' became required
  • PUT /unit-types/{unitTypeId}
    • the '/allOf[subschema #1: Unit Type]/name' request property's minLength was increased from '0' to '1'
    • removed the success response with the status '200'
  • PUT /units/{unitId}
    • added '#/components/schemas/UnitStatusType' to the '/allOf[subschema #1: Unit]/status' request property 'allOf' list
    • removed the enum value 'Clean' of the request property '/allOf[subschema #1: Unit]/status'
    • removed the enum value 'Dirty' of the request property '/allOf[subschema #1: Unit]/status'
    • the '/allOf[subschema #1: Unit]/status' request property type/format changed from 'string'/'' to ''/''
    • removed the success response with the status '200'

Operations

  • DELETE /reservations/{reservationId} added
  • POST /reservations/{reservationId}/unit-assignments added
  • POST /reservations/{reservationId}/stays/{stayId}/unit-assignment added
  • POST /reservations/{reservationId}/stays/{stayId}/actions/record-payment added
  • POST /reservations/{reservationId}/actions/record-payment added
  • GET /payments added
  • GET /payments/{paymentId} added
  • DELETE /payments/{paymentId} added
  • DELETE /unit-types/{unitTypeId} added
  • POST /batch/units added
  • DELETE /units/{unitId} added
  • GET /amenities added
  • POST /amenities added
  • DELETE /amenities/{amenityId} added
  • DELETE /properties/{propertyId} added
  • POST /rate-plans added
  • PUT /rate-plans/{ratePlanId} added
  • DELETE /rate-plans/{ratePlanId} added
  • GET /pms/providers/{configurationId}/extensions/{extensionName} added
  • POST /pms/providers/{configurationId}/extensions/{extensionName} added
  • DELETE /pms/providers/{configurationId}/extensions/{extensionName} added
  • GET /pms/providers/{configurationId}/capabilities added
  • GET /ameneties removed
  • POST /ameneties removed
  • DELETE /profiles/{profileId} changed
  • DELETE /reservations/{reservationId}/stays/{stayId} changed
  • DELETE /services/{serviceId} changed
  • GET /amenities/{amenityId} changed
  • GET /availability/reservations/{reservationId}/stays/{stayId}/units changed
  • GET /availability/reservations/{reservationId}/units changed
  • GET /availability/unit-types changed
  • GET /availability/units changed
  • GET /profiles changed
  • GET /profiles/{profileId} changed
  • GET /properties changed
  • GET /properties/{propertyId} changed
  • GET /rate-plans changed
  • GET /rate-plans/{ratePlanId} changed
  • GET /reservations changed
  • GET /reservations/{reservationId} changed
  • GET /services changed
  • GET /services/{serviceId} changed
  • GET /status changed
  • GET /unit-types changed
  • GET /unit-types/{unitTypeId} changed
  • GET /unit-types/{unitTypeId}/units changed
  • GET /units changed
  • GET /units/{unitId} changed
  • PATCH /availability/unit-types/{unitTypeId} changed
  • PATCH /availability/units/{unitId} changed
  • PATCH /profiles/{profileId} changed
  • PATCH /reservations/{reservationId} changed
  • PATCH /reservations/{reservationId}/stays/{stayId} changed
  • PATCH /units/{unitId} changed
  • POST /batch/unit-types changed
  • POST /profiles changed
  • POST /properties changed
  • POST /reservations changed
  • POST /reservations/{reservationId}/stays changed
  • POST /services changed
  • POST /unit-types changed
  • POST /units changed
  • PUT /amenities/{amenityId} changed
  • PUT /profiles/{profileId} changed
  • PUT /properties/{propertyId} changed
  • PUT /reservations/{reservationId} changed
  • PUT /reservations/{reservationId}/stays/{stayId} changed
  • PUT /reservations/{reservationId}/stays/{stayId}/services changed
  • PUT /reservations/{reservationId}/stays/{stayId}/units changed
  • PUT /services/{serviceId} changed
  • PUT /unit-types/{unitTypeId} changed
  • PUT /units/{unitId} changed
All 3320 changes in detail
  • DELETE /amenities/{amenityId}
    • endpoint added
  • DELETE /payments/{paymentId}
    • endpoint added
  • DELETE /pms/providers/{configurationId}/extensions/{extensionName}
    • endpoint added
  • DELETE /profiles/{profileId}
    • added the non-success response with the status '409'
    • removed the non-success response with the status '403'
    • removed the non-success response with the status '404'
    • removed the non-success response with the status '405'
  • DELETE /properties/{propertyId}
    • endpoint added
  • DELETE /rate-plans/{ratePlanId}
    • endpoint added
  • DELETE /reservations/{reservationId}
    • endpoint added
  • DELETE /reservations/{reservationId}/stays/{stayId}
    • removed the non-success response with the status '405'
  • DELETE /services/{serviceId}
    • api tag 'Services' added
    • added the non-success response with the status '409'
  • DELETE /unit-types/{unitTypeId}
    • endpoint added
  • DELETE /units/{unitId}
    • endpoint added
  • GET /ameneties
    • breaking: api path removed without deprecation
  • GET /amenities
    • endpoint added
  • GET /amenities/{amenityId}
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '200'
    • the 'type' response's property default value 'amenity' was added for the status '200'
  • GET /availability/reservations/{reservationId}/stays/{stayId}/units
    • api operation id 'getAvailableReservationStayUnits' removed and replaced with 'listAvailableReservationStayUnits'
    • breaking: for the 'query' request parameter 'filter', the type/format was changed from 'string'/'' to 'object'/''
    • added the non-success response with the status '400'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • added the optional property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/startTime' to the response with the '200' status
    • the 'type' response's property default value changed from 'unitTypeAvailability' to 'unitAvailability' for the status '200'
    • added the new 'unitAvailability' enum value to the 'data/items/allOf[subschema #2]/type' response property for the response status '200'
    • removed the 'unitTypeAvailability' enum value from the 'data/items/allOf[subschema #2]/type' response property for the response status '200'
    • added the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/endDate' to the response with the '200' status
    • added the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/startDate' to the response with the '200' status
    • breaking: removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/end' from the response with the '200' status
    • breaking: removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/start' from the response with the '200' status
  • GET /availability/reservations/{reservationId}/units
    • breaking: for the 'query' request parameter 'filter', the type/format was changed from 'string'/'' to 'object'/''
    • added the non-success response with the status '400'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • added the optional property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/startTime' to the response with the '200' status
    • the 'type' response's property default value changed from 'unitTypeAvailability' to 'unitAvailability' for the status '200'
    • added the new 'unitAvailability' enum value to the 'data/items/allOf[subschema #2]/type' response property for the response status '200'
    • removed the 'unitTypeAvailability' enum value from the 'data/items/allOf[subschema #2]/type' response property for the response status '200'
    • added the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/endDate' to the response with the '200' status
    • added the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/startDate' to the response with the '200' status
    • breaking: removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/end' from the response with the '200' status
    • breaking: removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/start' from the response with the '200' status
  • GET /availability/unit-types
    • breaking: for the 'query' request parameter 'filter', the type/format was changed from 'string'/'' to 'object'/''
    • added the non-success response with the status '400'
    • added the non-success response with the status '500'
    • added the optional property 'data/items/allOf[subschema #1: UnitTypeAvailability]/allOf[subschema #1: UnitTypeBaseAvailability]/endDate' to the response with the '200' status (and 3 more of response-optional-property-added)
    • removed the optional property 'data/items/allOf[subschema #1: UnitTypeAvailability]/allOf[subschema #1: UnitTypeBaseAvailability]/end' from the response with the '200' status
    • removed the optional property 'data/items/allOf[subschema #1: UnitTypeAvailability]/allOf[subschema #1: UnitTypeBaseAvailability]/start' from the response with the '200' status
  • GET /availability/units
    • breaking: for the 'query' request parameter 'filter', the type/format was changed from 'string'/'' to 'object'/''
    • added the non-success response with the status '400'
    • added the non-success response with the status '500'
    • added the optional property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/startTime' to the response with the '200' status
    • the 'type' response's property default value changed from 'unitTypeAvailability' to 'unitAvailability' for the status '200'
    • added the new 'unitAvailability' enum value to the 'data/items/allOf[subschema #2]/type' response property for the response status '200'
    • removed the 'unitTypeAvailability' enum value from the 'data/items/allOf[subschema #2]/type' response property for the response status '200'
    • added the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/endDate' to the response with the '200' status
    • added the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/startDate' to the response with the '200' status
    • breaking: removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/end' from the response with the '200' status
    • breaking: removed the required property 'data/items/allOf[subschema #1: Unit Availability]/allOf[subschema #1: UnitAvailability]/start' from the response with the '200' status
  • GET /payments
    • endpoint added
  • GET /payments/{paymentId}
    • endpoint added
  • GET /pms/providers/{configurationId}/capabilities
    • endpoint added
  • GET /pms/providers/{configurationId}/extensions/{extensionName}
    • endpoint added
  • GET /profiles
    • added the new optional 'query' request parameter 'filter'
    • added the new optional 'query' request parameter 'page'
    • deleted the 'header' request parameter 'Accept'
    • added the media type 'application/problem+json' for the response with the status '400' (and 6 more of response-media-type-added)
    • breaking: removed the media type 'application/vnd.api+json' for the response with the status '400' (and 6 more of response-media-type-removed)
    • removed the non-success response with the status '417'
    • added the optional property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/externalId' to the response with the '200' status
    • removed the optional property '/allOf[subschema #1: JsonApiSuccessList]/links' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
    • removed '#/components/schemas/ResourceDefaults' from the '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/addresses/items/addressLine' became nullable for the status '200' (and 12 more of response-property-became-nullable)
    • the 'emailType' response's property default value 'Private' was added for the status '200'
    • the 'isDefault' response's property default value changed from 'false' to 'true' for the status '200'
    • breaking: the '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/number' response property's maxLength was increased from '32' to '64' for the response status '200'
    • breaking: the '/allOf[subschema #2]/data/items/allOf[subschema #1: Profile -> subschema #2: Profile]/allOf[subschema #1]/birthDate' response property's minLength was decreased from '1' to '0' for the response status '200'
  • GET /profiles/{profileId}
    • deleted the 'header' request parameter 'Accept'
    • added 'subschema #2, subschema #3' to the response body 'allOf' list for the response status '200'
    • removed 'subschema #2, subschema #3' from the response body 'allOf' list for the response status '200'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
  • GET /properties
    • added the new optional 'query' request parameter 'filter'
    • added the new optional 'query' request parameter 'page'
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '400'
    • added the non-success response with the status '500'
    • removed the optional property '/allOf[subschema #1: JsonApiSuccessList]/links' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Property -> subschema #2: Property]/allOf[subschema #1]/address/addressLine' became nullable for the status '200' (and 5 more of response-property-became-nullable)
  • GET /properties/{propertyId}
    • deleted the 'header' request parameter 'Accept'
    • added the media type 'application/problem+json' for the response with the status '404'
    • added the media type 'application/problem+json' for the response with the status '500'
    • breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/addressLine' became nullable for the status '200' (and 5 more of response-property-became-nullable)
  • GET /rate-plans
    • added the new optional 'query' request parameter 'filter'
    • added the new optional 'query' request parameter 'page'
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '400'
    • added the non-success response with the status '500'
    • added the optional property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/cancellationPolicyId' to the response with the '200' status (and 6 more of response-optional-property-added)
    • removed the optional property '/allOf[subschema #1: JsonApiSuccessList]/links' from the response with the '200' status
    • removed the optional property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/end' from the response with the '200' status
    • removed the optional property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/start' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
    • removed '#/components/schemas/ResponseWithIdentifier' from the '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/parentId' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/code' became required for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/name' became required for the status '200'
    • the 'active' response's property default value changed from 'false' to 'true' for the status '200'
    • added the required property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/endDate' to the response with the '200' status
    • added the required property '/allOf[subschema #2]/data/items/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/startDate' to the response with the '200' status
  • GET /rate-plans/{ratePlanId}
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • added the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/cancellationPolicyId' to the response with the '200' status (and 6 more of response-optional-property-added)
    • removed the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/end' from the response with the '200' status
    • removed the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/start' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '200'
    • removed '#/components/schemas/ResponseWithIdentifier' from the '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/parentId' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/code' became required for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/name' became required for the status '200'
    • the 'active' response's property default value changed from 'false' to 'true' for the status '200'
    • added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/endDate' to the response with the '200' status
    • added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Rate plan -> subschema #2: Rate plan]/allOf[subschema #1]/startDate' to the response with the '200' status
  • GET /reservations
    • added the new optional 'query' request parameter 'filter'
    • added the new optional 'query' request parameter 'page'
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '400'
    • added the non-success response with the status '500'
    • added the optional property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/channelId' to the response with the '200' status (and 12 more of response-optional-property-added)
    • removed the optional property '/allOf[subschema #1: JsonApiSuccessList]/links' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
    • removed '#/components/schemas/ResourceDefaults' from the '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/addressLine' became nullable for the status '200' (and 13 more of response-property-became-nullable)
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/amount/currency' became required for the status '200' (and 10 more of response-property-became-required)
    • the 'emailType' response's property default value 'Private' was added for the status '200'
    • the 'isDefault' response's property default value changed from 'false' to 'true' for the status '200'
    • added the new 'AED' enum value to the '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/amount/currency' response property for the response status '200' (and 481 more of response-property-enum-value-added)
    • removed the 'Canceled' enum value from the '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/status' response property for the response status '200'
    • breaking: the '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/number' response property's maxLength was increased from '32' to '64' for the response status '200'
    • breaking: the '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/profiles/items/allOf[subschema #1]/birthDate' response property's minLength was decreased from '1' to '0' for the response status '200'
    • the '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/reservationIds/items/id' response's property pattern '^[a-zA-Z0-9_-]+$' was added for the status '200'
    • added the required property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/endDate' to the response with the '200' status
    • added the required property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/startDate' to the response with the '200' status
    • added the required property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #2]/ratePlans' to the response with the '200' status
    • breaking: removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #2: Reservation -> subschema #3: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/end' from the response with the '200' status (and 3 more of response-required-property-removed)
  • GET /reservations/{reservationId}
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • added the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/channelId' to the response with the '200' status (and 12 more of response-optional-property-added)
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '200'
    • added 'subschema #1, subschema #2' to the '/allOf[subschema #2]/data/allOf[subschema #2 -> subschema #3]/' response property 'allOf' list for the response status '200'
    • removed '#/components/schemas/ResourceDefaults' from the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/' response property 'allOf' list for the response status '200'
    • removed 'subschema #1, subschema #2' from the '/allOf[subschema #2]/data/allOf[subschema #2 -> subschema #3]/' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/addresses/items/addressLine' became nullable for the status '200' (and 13 more of response-property-became-nullable)
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/amount/currency' became required for the status '200' (and 10 more of response-property-became-required)
    • the 'emailType' response's property default value 'Private' was added for the status '200'
    • the 'isDefault' response's property default value changed from 'false' to 'true' for the status '200'
    • added the new 'AED' enum value to the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/amount/currency' response property for the response status '200' (and 481 more of response-property-enum-value-added)
    • removed the 'Canceled' enum value from the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/status' response property for the response status '200'
    • breaking: the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/number' response property's maxLength was increased from '32' to '64' for the response status '200'
    • breaking: the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/profiles/items/allOf[subschema #1]/birthDate' response property's minLength was decreased from '1' to '0' for the response status '200'
    • the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/reservationIds/items/id' response's property pattern '^[a-zA-Z0-9_-]+$' was added for the status '200'
    • added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/endDate' to the response with the '200' status
    • added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/startDate' to the response with the '200' status
    • added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #2]/ratePlans' to the response with the '200' status
    • breaking: removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation -> subschema #2: Reservation]/stays/items/allOf[subschema #1: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/end' from the response with the '200' status (and 3 more of response-required-property-removed)
  • GET /services
    • added the new optional 'query' request parameter 'filter'
    • added the new optional 'query' request parameter 'page'
    • deleted the 'header' request parameter 'Accept'
    • added the media type 'application/problem+json' for the response with the status '500'
    • added the non-success response with the status '400'
    • removed the optional property '/allOf[subschema #1: JsonApiSuccessList]/links' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Service -> subschema #2: Service]/description' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Service -> subschema #2: Service]/amountWithTax' became required for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Service -> subschema #2: Service]/amountWithoutTax' became required for the status '200'
    • the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Service -> subschema #2: Service]/currencyCode' became required for the status '200'
    • added the new 'AED' enum value to the '/allOf[subschema #2]/data/items/allOf[subschema #1: Service -> subschema #2: Service]/currencyCode' response property for the response status '200' (and 159 more of response-property-enum-value-added)
  • GET /services/{serviceId}
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/description' became nullable for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/amountWithTax' became required for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/amountWithoutTax' became required for the status '200'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/currencyCode' became required for the status '200'
    • added the new 'AED' enum value to the '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/currencyCode' response property for the response status '200' (and 159 more of response-property-enum-value-added)
  • GET /status
    • api operation id 'get-api-status' removed and replaced with 'getApiStatus'
    • deleted the 'header' request parameter 'Accept'
    • added the media type 'application/problem+json' for the response with the status '401' (and 3 more of response-media-type-added)
    • breaking: removed the media type 'application/vnd.api+json' for the response with the status '401' (and 3 more of response-media-type-removed)
  • GET /unit-types
    • added the new optional 'query' request parameter 'filter'
    • added the new optional 'query' request parameter 'page'
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '400'
    • added the non-success response with the status '500'
    • added the optional property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/maxAdults' to the response with the '200' status
    • added the optional property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/maxChildren' to the response with the '200' status
    • the response optional property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/quantity' became read-only for the status '200'
    • removed the optional property '/allOf[subschema #1: JsonApiSuccessList]/links' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
  • GET /unit-types/{unitTypeId}
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • added the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/maxAdults' to the response with the '200' status
    • added the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/maxChildren' to the response with the '200' status
    • the response optional property '/allOf[subschema #2]/data/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/quantity' became read-only for the status '200'
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '200'
  • GET /unit-types/{unitTypeId}/units
    • api operation id 'listUnitsByType' removed and replaced with 'listUnitTypeUnits'
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • removed the optional property '/allOf[subschema #1: JsonApiSuccessList]/links' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
    • added '#/components/schemas/UnitStatusType' to the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' became optional for the status '200'
    • the 'type' response's property default value 'unit' was added for the status '200'
    • the 'status' response's property default value 'Clean' was removed for the status '200'
    • removed the 'Clean' enum value from the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property for the response status '200'
    • removed the 'Dirty' enum value from the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property for the response status '200'
    • breaking: the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response's property type/format changed from 'string'/'' to ''/'' for status '200'
  • GET /units
    • added the new optional 'query' request parameter 'filter'
    • added the new optional 'query' request parameter 'page'
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '400'
    • added the non-success response with the status '500'
    • removed the optional property '/allOf[subschema #1: JsonApiSuccessList]/links' from the response with the '200' status
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
    • added '#/components/schemas/UnitStatusType' to the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' became optional for the status '200'
    • the 'type' response's property default value 'unit' was added for the status '200'
    • the 'status' response's property default value 'Clean' was removed for the status '200'
    • removed the 'Clean' enum value from the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property for the response status '200'
    • removed the 'Dirty' enum value from the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property for the response status '200'
    • breaking: the '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response's property type/format changed from 'string'/'' to ''/'' for status '200'
  • GET /units/{unitId}
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '404'
    • added the non-success response with the status '500'
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '200'
    • added '#/components/schemas/UnitStatusType' to the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property 'allOf' list for the response status '200'
    • breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' became optional for the status '200'
    • the 'type' response's property default value 'unit' was added for the status '200'
    • the 'status' response's property default value 'Clean' was removed for the status '200'
    • removed the 'Clean' enum value from the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property for the response status '200'
    • removed the 'Dirty' enum value from the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property for the response status '200'
    • breaking: the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response's property type/format changed from 'string'/'' to ''/'' for status '200'
  • PATCH /availability/unit-types/{unitTypeId}
    • added the new optional request property '/items/endDate' (and 3 more of new-optional-request-property)
    • removed the request property '/items/end'
    • removed the request property '/items/start'
  • PATCH /availability/units/{unitId}
    • added the new optional request property '/items/startTime'
    • breaking: added the new required request property '/items/endDate'
    • breaking: added the new required request property '/items/startDate'
    • removed the request property '/items/end'
    • removed the request property '/items/start'
  • PATCH /profiles/{profileId}
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
  • PATCH /reservations/{reservationId}
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
  • PATCH /reservations/{reservationId}/stays/{stayId}
    • added the new optional request property 'endDate' (and 3 more of new-optional-request-property)
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • added the new 'Cancelled' enum value to the request property 'status'
    • added the new 'Unconfirmed' enum value to the request property 'status'
    • breaking: removed the enum value 'Canceled' of the request property 'status'
    • removed the request property 'end'
    • removed the request property 'start'
  • PATCH /units/{unitId}
    • api operation id 'modifyUnit' removed and replaced with 'patchUnit'
    • breaking: request body became required
    • added the media type 'application/vnd.api+json' to the request body
    • breaking: removed the media type 'application/json' from the request body
    • deleted the 'header' request parameter 'Accept'
    • added the non-success response with the status '400' (and 4 more of response-non-success-status-added)
  • POST /ameneties
    • breaking: api path removed without deprecation
  • POST /amenities
    • endpoint added
  • POST /batch/unit-types
    • added the new optional request property '/items/maxAdults'
    • added the new optional request property '/items/maxChildren'
    • the request optional property '/items/quantity' became read-only
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • breaking: the '/items/name' request property's minLength was increased from '0' to '1'
    • breaking: removed the media type 'application/vnd.api+json' for the response with the status '201'
    • added the non-success response with the status '400'
    • added the non-success response with the status '422'
    • added the non-success response with the status '500'
  • POST /batch/units
    • endpoint added
  • POST /pms/providers/{configurationId}/extensions/{extensionName}
    • endpoint added
  • POST /profiles
    • added the new optional request property '/allOf[subschema #1]/externalId'
    • removed '#/components/schemas/ResourceDefaults' from the request body 'allOf' list
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • the request property '/allOf[subschema #1]/addresses/items/addressLine' became nullable (and 12 more of request-property-became-nullable)
    • the 'emailType' request property default value 'Private' was added
    • the 'isDefault' request property default value changed from 'false' to 'true'
    • the '/allOf[subschema #1]/number' request property's maxLength was increased from '32' to '64'
    • the '/allOf[subschema #1]/birthDate' request property's minLength was decreased from '1' to '0'
    • added 'subschema #2, subschema #3' to the response body 'allOf' list for the response status '201'
    • removed 'subschema #2, subschema #3' from the response body 'allOf' list for the response status '201'
    • added the non-success response with the status '400'
    • added the non-success response with the status '422'
    • added the non-success response with the status '500'
  • POST /properties
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • the request property '/allOf[subschema #1]/address/addressLine' became nullable (and 5 more of request-property-became-nullable)
    • added the non-success response with the status '400'
    • added the non-success response with the status '422'
    • added the non-success response with the status '500'
    • breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Property]/allOf[subschema #1]/address/addressLine' became nullable for the status '201' (and 5 more of response-property-became-nullable)
  • POST /rate-plans
    • endpoint added
  • POST /reservations
    • added the new optional request property 'externalId' (and 4 more of new-optional-request-property)
    • breaking: added the new required request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/endDate'
    • breaking: added the new required request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/startDate'
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • removed '#/components/schemas/ResourceDefaults' from the 'stays/items/allOf[subschema #2]/profiles/items/oneOf[subschema #1: Profile]/' request property 'allOf' list
    • breaking: request property 'stays/items/allOf[subschema #2]/amount/currency' was restricted to a list of enum values
    • breaking: request property 'stays/items/allOf[subschema #2]/services/items/currencyCode' was restricted to a list of enum values
    • the request property 'stays/items/allOf[subschema #2]/profiles/items/oneOf[subschema #1: Profile]/allOf[subschema #1]/addresses/items/addressLine' became nullable (and 13 more of request-property-became-nullable)
    • breaking: the request property 'stays/items/allOf[subschema #2]/amount/currency' became required (and 6 more of request-property-became-required)
    • the 'emailType' request property default value 'Private' was added
    • the 'isDefault' request property default value changed from 'false' to 'true'
    • added the new 'AED' enum value to the request property 'stays/items/allOf[subschema #2]/amount/currency' (and 321 more of request-property-enum-value-added)
    • breaking: removed the enum value 'Canceled' of the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/status'
    • the 'stays/items/allOf[subschema #2]/profiles/items/oneOf[subschema #1: Profile]/allOf[subschema #1]/number' request property's maxLength was increased from '32' to '64'
    • breaking: the 'stays' request property's minItems was increased to '1' (and 3 more of request-property-min-items-increased)
    • the 'stays/items/allOf[subschema #2]/profiles/items/oneOf[subschema #1: Profile]/allOf[subschema #1]/birthDate' request property's minLength was decreased from '1' to '0'
    • added the pattern '^[a-zA-Z0-9_-]+$' to the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/reservationIds/items/id'
    • removed the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/end'
    • removed the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/ratePlan'
    • removed the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/start'
    • added the media type 'application/vnd.api+json' for the response with the status '201'
    • added the non-success response with the status '400'
    • added the non-success response with the status '422'
    • added the non-success response with the status '500'
  • POST /reservations/{reservationId}/actions/record-payment
    • endpoint added
  • POST /reservations/{reservationId}/stays
    • breaking: request body became required
    • added the media type 'application/vnd.api+json' to the request body
    • breaking: removed the media type 'application/vnd.api+json:' from the request body
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • added the non-success response with the status '400'
    • added the non-success response with the status '422'
    • added the non-success response with the status '500'
    • added the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/endTime' to the response with the '201' status (and 5 more of response-optional-property-added)
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #2]/amount/currency' became required for the status '201' (and 3 more of response-property-became-required)
    • added the new 'AED' enum value to the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #2]/amount/currency' response property for the response status '201' (and 161 more of response-property-enum-value-added)
    • removed the 'Canceled' enum value from the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/status' response property for the response status '201'
    • the '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/reservationIds/items/id' response's property pattern '^[a-zA-Z0-9_-]+$' was added for the status '201'
    • added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/endDate' to the response with the '201' status
    • added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/startDate' to the response with the '201' status
    • added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #2]/ratePlans' to the response with the '201' status
    • breaking: removed the required property '/allOf[subschema #2]/data/allOf[subschema #1: Reservation unit stay -> subschema #2: Reservation unit stay]/allOf[subschema #1: Reservation Stay Create]/end' from the response with the '201' status (and 3 more of response-required-property-removed)
  • POST /reservations/{reservationId}/stays/{stayId}/actions/record-payment
    • endpoint added
  • POST /reservations/{reservationId}/stays/{stayId}/unit-assignment
    • endpoint added
  • POST /reservations/{reservationId}/unit-assignments
    • endpoint added
  • POST /services
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • breaking: request property 'currencyCode' was restricted to a list of enum values
    • the request property 'description' became nullable
    • breaking: the request property 'amountWithTax' became required
    • breaking: the request property 'amountWithoutTax' became required
    • breaking: the request property 'currencyCode' became required
    • added the new 'AED' enum value to the request property 'currencyCode' (and 159 more of request-property-enum-value-added)
    • added the non-success response with the status '400'
    • added the non-success response with the status '422'
    • added the non-success response with the status '500'
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '201'
    • breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/description' became nullable for the status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/amountWithTax' became required for the status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/amountWithoutTax' became required for the status '201'
    • the response property '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/currencyCode' became required for the status '201'
    • added the new 'AED' enum value to the '/allOf[subschema #2]/data/allOf[subschema #1: Service -> subschema #2: Service]/currencyCode' response property for the response status '201' (and 159 more of response-property-enum-value-added)
  • POST /unit-types
    • added the new optional request property '/allOf[subschema #1: Unit Type]/maxAdults'
    • added the new optional request property '/allOf[subschema #1: Unit Type]/maxChildren'
    • the request optional property '/allOf[subschema #1: Unit Type]/quantity' became read-only
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • breaking: the '/allOf[subschema #1: Unit Type]/name' request property's minLength was increased from '0' to '1'
    • added the non-success response with the status '400' (and 3 more of response-non-success-status-added)
    • added the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/maxAdults' to the response with the '201' status
    • added the optional property '/allOf[subschema #2]/data/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/maxChildren' to the response with the '201' status
    • the response optional property '/allOf[subschema #2]/data/allOf[subschema #1: Unit Type -> subschema #2: Unit Type]/quantity' became read-only for the status '201'
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '201'
  • POST /units
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • breaking: added '#/components/schemas/UnitStatusType' to the '/allOf[subschema #1: Unit]/status' request property 'allOf' list
    • the request property '/allOf[subschema #1: Unit]/status' became optional
    • the 'status' request property default value 'Clean' was removed
    • breaking: removed the enum value 'Clean' of the request property '/allOf[subschema #1: Unit]/status'
    • breaking: removed the enum value 'Dirty' of the request property '/allOf[subschema #1: Unit]/status'
    • breaking: the '/allOf[subschema #1: Unit]/status' request property type/format changed from 'string'/'' to ''/''
    • added the non-success response with the status '400' (and 4 more of response-non-success-status-added)
    • added '#/components/schemas/ResourceDefaults' to the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '201'
    • added '#/components/schemas/UnitStatusType' to the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property 'allOf' list for the response status '201'
    • breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' became optional for the status '201'
    • the 'type' response's property default value 'unit' was added for the status '201'
    • the 'status' response's property default value 'Clean' was removed for the status '201'
    • removed the 'Clean' enum value from the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property for the response status '201'
    • removed the 'Dirty' enum value from the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response property for the response status '201'
    • breaking: the '/allOf[subschema #2]/data/allOf[subschema #1: Unit -> subschema #2: Unit]/status' response's property type/format changed from 'string'/'' to ''/'' for status '201'
  • PUT /amenities/{amenityId}
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • added the success response with the status '204'
    • breaking: removed the success response with the status '200'
  • PUT /profiles/{profileId}
    • added the new optional request property '/allOf[subschema #1]/externalId'
    • removed '#/components/schemas/ResourceDefaults' from the request body 'allOf' list
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • the request property '/allOf[subschema #1]/addresses/items/addressLine' became nullable (and 12 more of request-property-became-nullable)
    • the 'emailType' request property default value 'Private' was added
    • the 'isDefault' request property default value changed from 'false' to 'true'
    • the '/allOf[subschema #1]/number' request property's maxLength was increased from '32' to '64'
    • the '/allOf[subschema #1]/birthDate' request property's minLength was decreased from '1' to '0'
    • removed the non-success response with the status '401'
    • removed the non-success response with the status '403'
    • removed the non-success response with the status '404'
    • added the success response with the status '204'
    • breaking: removed the success response with the status '200'
  • PUT /properties/{propertyId}
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • the request property '/allOf[subschema #1]/address/addressLine' became nullable (and 5 more of request-property-became-nullable)
    • added the success response with the status '204'
    • breaking: removed the success response with the status '200'
  • PUT /rate-plans/{ratePlanId}
    • endpoint added
  • PUT /reservations/{reservationId}
    • added the new optional request property 'externalId' (and 4 more of new-optional-request-property)
    • breaking: added the new required request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/endDate'
    • breaking: added the new required request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/startDate'
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • removed '#/components/schemas/ResourceDefaults' from the 'stays/items/allOf[subschema #2]/profiles/items/oneOf[subschema #1: Profile]/' request property 'allOf' list
    • breaking: request property 'stays/items/allOf[subschema #2]/amount/currency' was restricted to a list of enum values
    • breaking: request property 'stays/items/allOf[subschema #2]/services/items/currencyCode' was restricted to a list of enum values
    • the request property 'stays/items/allOf[subschema #2]/profiles/items/oneOf[subschema #1: Profile]/allOf[subschema #1]/addresses/items/addressLine' became nullable (and 13 more of request-property-became-nullable)
    • breaking: the request property 'stays/items/allOf[subschema #2]/amount/currency' became required (and 6 more of request-property-became-required)
    • the 'emailType' request property default value 'Private' was added
    • the 'isDefault' request property default value changed from 'false' to 'true'
    • added the new 'AED' enum value to the request property 'stays/items/allOf[subschema #2]/amount/currency' (and 321 more of request-property-enum-value-added)
    • breaking: removed the enum value 'Canceled' of the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/status'
    • the 'stays/items/allOf[subschema #2]/profiles/items/oneOf[subschema #1: Profile]/allOf[subschema #1]/number' request property's maxLength was increased from '32' to '64'
    • breaking: the 'stays' request property's minItems was increased to '1' (and 3 more of request-property-min-items-increased)
    • the 'stays/items/allOf[subschema #2]/profiles/items/oneOf[subschema #1: Profile]/allOf[subschema #1]/birthDate' request property's minLength was decreased from '1' to '0'
    • added the pattern '^[a-zA-Z0-9_-]+$' to the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/reservationIds/items/id'
    • removed the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/end'
    • removed the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/ratePlan'
    • removed the request property 'stays/items/allOf[subschema #1: Reservation Stay Create]/start'
    • breaking: removed the media type 'application/vnd.api+json' for the response with the status '204'
  • PUT /reservations/{reservationId}/stays/{stayId}
    • breaking: added '#/components/schemas/ReservationStayCreate, subschema #2' to the request body 'allOf' list
    • breaking: the request's body type/format changed from 'object'/'' to ''/''
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • removed the request property 'stays'
    • added the success response with the status '204'
    • breaking: removed the success response with the status '200'
  • PUT /reservations/{reservationId}/stays/{stayId}/services
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • added the success response with the status '204'
    • breaking: removed the success response with the status '200'
  • PUT /reservations/{reservationId}/stays/{stayId}/units
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
  • PUT /services/{serviceId}
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • breaking: request property 'currencyCode' was restricted to a list of enum values
    • the request property 'description' became nullable
    • breaking: the request property 'amountWithTax' became required
    • breaking: the request property 'amountWithoutTax' became required
    • breaking: the request property 'currencyCode' became required
    • added the new 'AED' enum value to the request property 'currencyCode' (and 159 more of request-property-enum-value-added)
  • PUT /unit-types/{unitTypeId}
    • added the new optional request property '/allOf[subschema #1: Unit Type]/maxAdults'
    • added the new optional request property '/allOf[subschema #1: Unit Type]/maxChildren'
    • the request optional property '/allOf[subschema #1: Unit Type]/quantity' became read-only
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • breaking: the '/allOf[subschema #1: Unit Type]/name' request property's minLength was increased from '0' to '1'
    • added the non-success response with the status '400' (and 4 more of response-non-success-status-added)
    • added the success response with the status '204'
    • breaking: removed the success response with the status '200'
  • PUT /units/{unitId}
    • deleted the 'header' request parameter 'Accept'
    • deleted the 'header' request parameter 'Content-Type'
    • breaking: added '#/components/schemas/UnitStatusType' to the '/allOf[subschema #1: Unit]/status' request property 'allOf' list
    • the request property '/allOf[subschema #1: Unit]/status' became optional
    • the 'status' request property default value 'Clean' was removed
    • breaking: removed the enum value 'Clean' of the request property '/allOf[subschema #1: Unit]/status'
    • breaking: removed the enum value 'Dirty' of the request property '/allOf[subschema #1: Unit]/status'
    • breaking: the '/allOf[subschema #1: Unit]/status' request property type/format changed from 'string'/'' to ''/''
    • added the non-success response with the status '400' (and 4 more of response-non-success-status-added)
    • added the success response with the status '204'
    • breaking: removed the success response with the status '200'
  • null null
    • the security scope 'openid' was added to the global security scheme 'openId'
    • the security scope 'profile' was added to the global security scheme 'openId'
    • the security scope 'admin' was removed from the global security scheme 'openId'
    • the security scope 'user' was removed from the global security scheme 'openId'
    • removed the schema 'JsonApiError'
    • removed the schema 'StayEndDefinition'
    • removed the schema 'StayStartDefinition'

2.0.16-rc.1

Initial public release candidate for version 2