v1
latestOpenAPI 3.0.22026-07-13122949.2 KBPMS/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
Example request
{
"reservationGroup": {
"reservations": [
{
"price": {
"amount": "100.00",
"currency": "CZK"
}
}
],
"totalPrice": {
"amount": "100.00",
"currency": "CZK"
}
}
}Response
Successful response
Example response
{
"reservationGroup": {
"reservations": [
{
"price": {
"amount": "100.00",
"currency": "CZK"
}
}
],
"totalPrice": {
"amount": "100.00",
"currency": "CZK"
}
}
}