Hermeseus

Confirm a hotel booking

Finalize a held hotel booking. This is when the total is charged and the reservation is confirmed.

POST/v2/Hotel/HotelOrder

Access requires the permission hotel_order

Call this after the traveller has paid you and before the hold lapses. The booking total is deducted from your office balance and the reservation is confirmed. Miss the window and the hold is released, so you validate the rate and book again.

Two versions. The v1 path /Hotel/HotelOrder is the same operation. New integrations should use the v2 path above.

Path parameters

None.

Query parameters

None.

Body parameters

NameTypeRequiredDescription
SessionIdstringYesYour session id.
UniqueIdstringYesThe booking id from book.

Request

curl -X POST https://api.hermeseus.com/api/v2/Hotel/HotelOrder \
  -H "Content-Type: application/json" \
  -d '{
    "SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
    "UniqueId": "HB-2026-004417"
  }'
const res = await fetch("https://api.hermeseus.com/api/v2/Hotel/HotelOrder", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    SessionId: "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
    UniqueId: "HB-2026-004417"
  })
});

const data = await res.json();
import requests

res = requests.post(
    "https://api.hermeseus.com/api/v2/Hotel/HotelOrder",
    json={
        "SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
        "UniqueId": "HB-2026-004417",
    },
)

data = res.json()

Response

FieldTypeDescription
Successbooleantrue on success.
UniqueIdstringThe confirmed booking id.
StatusintegerBooking status after confirmation.
Errorobjectnull on success.
{
  "Success": true,
  "UniqueId": "HB-2026-004417",
  "Status": 20,
  "Error": null
}
This charges the booking. Balance is deducted only here, never at book. Confirm the traveller has paid you before you call it.

Errors

CodeMeaningFix
Err0104002Hotel booking not found.Check the UniqueId.
Err0102003The hold lapsed and the rate is gone.Validate the rate and book again.