Ticket a hold
Ticket a HELD booking.
Only Kitionz Test Air supports this today. With your Live suppliers this call is refused, so build it in Test but do not depend on it in Live yet.
What: issues the ticket for a HELD booking (the seats are held, not yet ticketed).
When: when the booking’s nextAction.code is ISSUE_TICKET, before nextAction.deadlineAt.
Answers: 200 with the booking once ticketed (asking again for a CONFIRMED booking also answers 200, with no supplier call). 202 when the supplier accepted the ticketing but it is not done yet: read the booking later. 409 BOOKING_NOT_TICKETABLE when the booking is not on hold. 422 TICKETING_REFUSED when the supplier said no: it stays HELD. Carries the Idempotency-Key header like any write.
Authentication
Your Kitionz API key, sent as Authorization: Bearer keyId:secret. Create a Test key at sandbox.kitionz.com → API keys, a Live key at kitionz.com → API → API keys.
Path parameters
Headers
A new unique value (a UUID) for every write: one booking, one cancel. Save it with your order before you call. Send the SAME value again only when you send the SAME request again after a timeout: you get the first answer back. Reusing it on any other write answers 422 IDEMPOTENCY_KEY_REUSED_WITH_DIFFERENT_PARAMS.
Response
A full persisted booking (passengers, segments, events, amounts, status).