Skip to main content

Custom object status

Rate limits

This endpoint belongs to the priority lane.

If you need more statuses than just booked and free, you can use this API call to change the status of a seat, table or booth to your own custom status.

POST https://api-{region}.seatsio.net/events/{eventKey}/actions/change-object-status

POST https://api-{region}.seatsio.net/events/{eventKey}/actions/change-object-status?expand=objects
Note

All seats (or tables, booths or GA places) passed in to this API will be considered as "used seats" for pricing purposes.

Request

// No ticket types
{
"objects": ["A-3", "A-5"],
"status": "myCustomStatus"
}

// Ticket types
{
"objects": [
{"objectId": "A-1", "ticketType": "adult"},
{"objectId": "A-2", "ticketType": "child"}
],
"status": "myCustomStatus"
}
  • objects: an array of object ids, or an array of object ids and ticket types
  • status: the status you want to assign to the objects
  • holdToken (optional): the hold token must be supplied when you want to make sure that the same person that made the hold confirms his booking.
  • orderId (optional): an order id, defined by yourself, to be able to retrieve the objects IDs per order later on.
  • keepExtraData (optional): boolean. If set to true, the existing extra data doesn't get cleared
  • channelKeys (optional): an array of strings, i.e. the channel keys of the channel(s) to which the objects belong. If omitted, and the objects are assigned to a channel, the request will fail with 400 Bad request. Pass in NO_CHANNEL as channel key to allow objects without a channel.
  • ignoreChannels (optional): if true, the status change call succeeds, even if the objects belong to a channel. Useful inside a back office application, in which the user is allowed to book any seat - no matter the channel. Should not be used in combination with channelKeys.
  • allowedPreviousStatuses (optional): an array of strings, i.e. the list of statuses that the objects must be in. The request will fail with a 400 Bad Request if any of the objects have a status not present in the allowedPreviousStatuses list. Cannot be used in combination with rejectedPreviousStatuses.
  • rejectedPreviousStatuses (optional): an array of strings, i.e. the list of statuses that the objects cannot be in. The request will fail with a 400 Bad Request if any of the objects have a status that is present in the rejectedPreviousStatuses list. Cannot be used in combination with allowedPreviousStatuses.
Note

Seats.io differentiates between the technical label and displayed label for a bookable object. Changing the former in an active event can cause problems with existing bookings. Instead change displayed label, which is always safe. To learn more, see understanding labels

Response

Without expand=objects 204 - No Content

With expand=objects 200 - ok

{
"objects": {
"A-3": {
"label": "A-3",
"labels": {
"own": {
"label": "3",
"type": "seat"
},
"parent": {
"label": "Row A",
"type": "row"
}
},
"ids": {
"own": "3",
"parent": "A"
},
"status": "myCustomStatus",
"categoryLabel": "Ground Floor",
"categoryKey": "4",
"forSale": true,
"objectType": "seat",
"isAccessible": true,
"isCompanionSeat": false,
"hasRestrictedView": false,
"leftNeighbour": "A-2",
"rightNeighbour": "A-4",
"entrance": "Blue"
}
}
}
  • objects: JSON object that contains detailed information about the objects