PMS/CM endpoints

Create/update reservation

Used to create, update, and cancel reservations.

The exact behavior depends on the agreed communication scheme between Termino and your system.

1 - Reservation Status Workflow

A Dual-request mode (default)

  • First request — status: option
    • Sent without customer data.
    • Blocks the room for the requested stay.
  • Second request — status: confirmed
    • Includes customer data and final confirmation details.
    • Finalizes the reservation.

This approach allows gradual state transitions and is the recommended mode for most partners.

⚠️ Important: Both option and confirmed statuses are expected to block the room in your system.

B Single-request mode

  • The first option request already contains full customer data and voucher code.
  • A subsequent confirmed request may still be sent but does not need to be processed or relayed to the hotel.
  • This mode is best suited for OTAs and other systems that cannot modify reservations after creation (except through cancel & rebook).

You should confirm the preferred mode during your integration setup.

2 - Reservation ID

  • You can use your ID (returned in the first response) or Termino's ID (preferred)
  • Using Termino's ID simplifies recovery from communication failures
  • Rooms must be blocked once an option request is processed successfully

Usage:

  • Called with status option and then confirmed when creating a new reservation (see above)
  • Called with canceled status to cancel the reservation
  • Called when changing booking date on customer's request

Grouped reservations are currently not implemented; one request always contains only one reservation. Reservation group ID is the same as reservation ID. Reservation response should contain the same data as the request.

post/reservation

Request body

accessTokenstring required

Access token to your API.

Example request

{
  "reservationGroup": {
    "reservations": [
      {
        "price": {
          "amount": "100.00",
          "currency": "CZK"
        }
      }
    ],
    "totalPrice": {
      "amount": "100.00",
      "currency": "CZK"
    }
  }
}

Response

Successful response

accessTokenstring

Example response

{
  "reservationGroup": {
    "reservations": [
      {
        "price": {
          "amount": "100.00",
          "currency": "CZK"
        }
      }
    ],
    "totalPrice": {
      "amount": "100.00",
      "currency": "CZK"
    }
  }
}

Changes

Changed in 5 of the 10 revisions of this API.81024

    • added the new optional request property reservationGroup/reservations/items/ratePlanId

      new-optional-request-property

    • added the optional property reservationGroup/reservations/items/ratePlanId to the response with the 200 status

      response-optional-property-added

    • removed the optional property reservation from the response with the 200 status

      response-optional-property-removed

    • added the optional property accessToken to the response with the 200 status

      response-optional-property-added

    • added the optional property hotelId to the response with the 200 status

      response-optional-property-added

    • added the optional property reservationGroup to the response with the 200 status

      response-optional-property-added

  • 8853306b1b91448See the full diff
    • added the new required request property reservationGroup/reservations/items/contact/email

      new-required-request-property

    • removed the enum value allInclusive of the request property reservationGroup/reservations/items/meal

      request-property-enum-value-removed

    • removed the enum value fullBoard of the request property reservationGroup/reservations/items/meal

      request-property-enum-value-removed

    • removed the enum value halfBoard of the request property reservationGroup/reservations/items/meal

      request-property-enum-value-removed

    • added the new all_inclusive enum value to the reservation/reservations/items/meal response property for the response status 200

      response-property-enum-value-added

    • added the new full_board enum value to the reservation/reservations/items/meal response property for the response status 200

      response-property-enum-value-added

    • added the new half_board enum value to the reservation/reservations/items/meal response property for the response status 200

      response-property-enum-value-added

    • added the new none enum value to the reservation/reservations/items/meal response property for the response status 200

      response-property-enum-value-added

    • added the new all_inclusive enum value to the request property reservationGroup/reservations/items/meal

      request-property-enum-value-added

    • added the new full_board enum value to the request property reservationGroup/reservations/items/meal

      request-property-enum-value-added

    • added the new half_board enum value to the request property reservationGroup/reservations/items/meal

      request-property-enum-value-added

    • added the new none enum value to the request property reservationGroup/reservations/items/meal

      request-property-enum-value-added

    • removed the allInclusive enum value from the reservation/reservations/items/meal response property for the response status 200

      response-property-enum-value-removed

    • removed the fullBoard enum value from the reservation/reservations/items/meal response property for the response status 200

      response-property-enum-value-removed

    • removed the halfBoard enum value from the reservation/reservations/items/meal response property for the response status 200

      response-property-enum-value-removed

    • added the required property reservation/reservations/items/contact/email to the response with the 200 status

      response-required-property-added

    • api tag PMS/CM endpoints added

      api-tag-added

    • api tag Pull endpoints removed

      api-tag-removed

    • request property reservationGroup/reservations/items/roomId deprecated

      request-property-deprecated

    • response property reservation/reservations/items/roomId deprecated

      response-property-deprecated

  • e19082e0fb0f457See the full diff
    • removed the enum value all_inclusive of the request property reservationGroup/reservations/items/meal

      request-property-enum-value-removed

    • removed the enum value full_board of the request property reservationGroup/reservations/items/meal

      request-property-enum-value-removed

    • removed the enum value half_board of the request property reservationGroup/reservations/items/meal

      request-property-enum-value-removed

    • removed the enum value none of the request property reservationGroup/reservations/items/meal

      request-property-enum-value-removed

    • removed the request property reservationGroup/reservations/items/contact/email

      request-property-removed

    • removed the request property reservationGroup/reservations/items/ratePlanId

      request-property-removed

    • removed the optional property accessToken from the response with the 200 status

      response-optional-property-removed

    • removed the optional property hotelId from the response with the 200 status

      response-optional-property-removed

    • removed the optional property reservationGroup from the response with the 200 status

      response-optional-property-removed

    • api tag Pull endpoints added

      api-tag-added

    • api tag PMS/CM endpoints removed

      api-tag-removed

    • added the new allInclusive enum value to the request property reservationGroup/reservations/items/meal

      request-property-enum-value-added

    • added the new fullBoard enum value to the request property reservationGroup/reservations/items/meal

      request-property-enum-value-added

    • added the new halfBoard enum value to the request property reservationGroup/reservations/items/meal

      request-property-enum-value-added

    • request property reservationGroup/reservations/items/roomId reactivated

      request-property-reactivated

    • added the optional property reservation to the response with the 200 status

      response-optional-property-added

    This revision also has 10 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog