Hermeseus

Issue a flight ticket

Issue the ticket for a reserved booking. This is when the fare is charged and the ticket is created.

POST/Air/AirOrderTicket

Access requires the permission air_order_ticket

Call this after the traveller has paid you and before TktTimeLimit. The booking moves from status 10 (booked) to status 20 (ticketed). Read the full ticket with booking data.

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/Air/AirOrderTicket \
  -H "Content-Type: application/json" \
  -d '{
    "SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
    "UniqueId": "TP-2026-000512"
  }'
const res = await fetch("https://api.hermeseus.com/api/Air/AirOrderTicket", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    SessionId: "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
    UniqueId: "TP-2026-000512"
  })
});

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

res = requests.post(
    "https://api.hermeseus.com/api/Air/AirOrderTicket",
    json={
        "SessionId": "8f3c81d2-4a5b-4c6d-9e0f-1a2b3c4d5e6f",
        "UniqueId": "TP-2026-000512",
    },
)

data = res.json()

Response

FieldTypeDescription
Successbooleantrue on success.
Categoryinteger20. Ticketed.
Statusinteger20. Ticketed.
Errorobjectnull on success.
{
  "Success": true,
  "Category": 20,
  "Status": 20,
  "Error": null
}
This charges the fare. Confirm the traveller has paid you before you call it. Miss TktTimeLimit and the reservation is released, so you have to search and book again.

Errors

CodeMeaningFix
Err0103003Booking not found.Check the UniqueId.
Err0103006The booking is not in a ticketable state.Read the booking status first. It must be booked and within the deadline.