waiting orupcoming can be cancelled; any other state returns 409 Conflict.waiting tickets (walk-in queue) are cancelled via the queue cancel path; upcoming409.curl --location --request POST 'https://api-dev.skiplino.com/external/v1/tickets/k7m2p9x4q1/cancel' \
--header 'X-Locale;' \
--header 'Authorization: Bearer <token>'{
"message": "Ticket cancelled successfully.",
"data": {
"id": "k7m2p9x4q1",
"ticketNumber": "Q017",
"status": "cancelled",
"statusAt": "2026-06-23T11:20:00.000Z",
"type": "sequential",
"time": null,
"branch": {
"id": "802b33af66",
"name": "Seef Mall Branch"
},
"service": {
"id": "6fe8fb8b12",
"name": "Cash Withdrawal"
},
"groupOfService": {
"id": "7c1f9a3b2d",
"name": "Teller Services"
},
"customer": {
"id": "9f2c8b7a4e1d6c3f0a5b8e2d7c4f1a9b",
"name": "Layla Hassan"
},
"bookedAt": "2026-06-23T11:08:41.000Z"
}
}