v1

latestOpenAPI 3.0.22026-07-13122949.2 KB
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"
    }
  }
}