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.
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"
}
}
}Changes
Changed in 5 of the 10 revisions of this API.81024
- ○
added the new optional request property
reservationGroup/reservations/items/ratePlanIdnew-optional-request-property
- ○
added the optional property
reservationGroup/reservations/items/ratePlanIdto the response with the200statusresponse-optional-property-added
- ○
- ●
removed the optional property
reservationfrom the response with the200statusresponse-optional-property-removed
- ○
added the optional property
accessTokento the response with the200statusresponse-optional-property-added
- ○
added the optional property
hotelIdto the response with the200statusresponse-optional-property-added
- ○
added the optional property
reservationGroupto the response with the200statusresponse-optional-property-added
- ●
- ▲
added the new required request property
reservationGroup/reservations/items/contact/emailnew-required-request-property
- ▲
removed the enum value
allInclusiveof the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-removed
- ▲
removed the enum value
fullBoardof the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-removed
- ▲
removed the enum value
halfBoardof the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-removed
- ●
added the new
all_inclusiveenum value to thereservation/reservations/items/mealresponse property for the response status200response-property-enum-value-added
- ●
added the new
full_boardenum value to thereservation/reservations/items/mealresponse property for the response status200response-property-enum-value-added
- ●
added the new
half_boardenum value to thereservation/reservations/items/mealresponse property for the response status200response-property-enum-value-added
- ●
added the new
noneenum value to thereservation/reservations/items/mealresponse property for the response status200response-property-enum-value-added
- ○
added the new
all_inclusiveenum value to the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-added
- ○
added the new
full_boardenum value to the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-added
- ○
added the new
half_boardenum value to the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-added
- ○
added the new
noneenum value to the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-added
- ○
removed the
allInclusiveenum value from thereservation/reservations/items/mealresponse property for the response status200response-property-enum-value-removed
- ○
removed the
fullBoardenum value from thereservation/reservations/items/mealresponse property for the response status200response-property-enum-value-removed
- ○
removed the
halfBoardenum value from thereservation/reservations/items/mealresponse property for the response status200response-property-enum-value-removed
- ○
added the required property
reservation/reservations/items/contact/emailto the response with the200statusresponse-required-property-added
- ▲
- ○
api tag
PMS/CM endpointsaddedapi-tag-added
- ○
api tag
Pull endpointsremovedapi-tag-removed
- ○
request property
reservationGroup/reservations/items/roomIddeprecatedrequest-property-deprecated
- ○
response property
reservation/reservations/items/roomIddeprecatedresponse-property-deprecated
- ○
- ▲
removed the enum value
all_inclusiveof the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-removed
- ▲
removed the enum value
full_boardof the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-removed
- ▲
removed the enum value
half_boardof the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-removed
- ▲
removed the enum value
noneof the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-removed
- ●
removed the request property
reservationGroup/reservations/items/contact/emailrequest-property-removed
- ●
removed the request property
reservationGroup/reservations/items/ratePlanIdrequest-property-removed
- ●
removed the optional property
accessTokenfrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
hotelIdfrom the response with the200statusresponse-optional-property-removed
- ●
removed the optional property
reservationGroupfrom the response with the200statusresponse-optional-property-removed
- ○
api tag
Pull endpointsaddedapi-tag-added
- ○
api tag
PMS/CM endpointsremovedapi-tag-removed
- ○
added the new
allInclusiveenum value to the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-added
- ○
added the new
fullBoardenum value to the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-added
- ○
added the new
halfBoardenum value to the request propertyreservationGroup/reservations/items/mealrequest-property-enum-value-added
- ○
request property
reservationGroup/reservations/items/roomIdreactivatedrequest-property-reactivated
- ○
added the optional property
reservationto the response with the200statusresponse-optional-property-added
This revision also has 10 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ▲