Seating Plan Endpoints
Spektrix imports the structure of each seating plan once: its areas and seats. Availability isn't part of the plan. Spektrix reads it live for each instance from get instance status.
Get seating plan
GET plans/{seatingPlanId}
Returns a seating plan with its areas and seats. During an import, Spektrix fetches each distinct seatingPlanId once, however many instances use it.
A seating plan is a tree of areas. Every area has a type:
type | Description | Extra fields |
|---|---|---|
Group | A container for other areas, such as a whole auditorium containing Stalls, Circle and Balcony. Has no seats of its own. | areas: the child areas |
Reserved | An area of individually numbered seats, sold seat by seat. | seats: the seats in the area |
Unreserved | A general admission area with no individual seats, sold by count alone. | capacity: the total number of places |
baseSeatingArea is the top of the tree. For a plan with more than one area, it's a Group. For a plan with a single area, it can be that Reserved or Unreserved area on its own.
Response: 200 OK
{
"id": "3AEBCDFG",
"venueId": "9AEBCDFG",
"baseSeatingArea": {
"type": "Group",
"id": "24AEBCDF",
"name": "Main House",
"areas": [
{
"type": "Reserved",
"id": "10AEBCDF",
"name": "Stalls",
"seats": [
{
"id": "11AEBCDF",
"row": "A",
"number": 1,
"x": 120,
"y": 340
}
]
},
{
"type": "Unreserved",
"id": "25AEBCDF",
"name": "Standing",
"capacity": 150
}
]
}
}
Seating plan
| Field | Type | Description |
|---|---|---|
id | string | Your id for the seating plan. |
venueId | string | The plan's venue. Spektrix fetches it with get venue. |
baseSeatingArea | area | The top-level area of the plan. |
Area (all types)
| Field | Type | Description |
|---|---|---|
type | string | Group, Reserved or Unreserved. It doesn't have to be the first property. |
id | string | Your id for the area. Unreserved area ids are used in availability and unreserved basket requests. |
name | string | The area's name. |
Group area
| Field | Type | Description |
|---|---|---|
areas | area[] | The child areas. These can be any type, including further groups. |
Reserved area
| Field | Type | Description |
|---|---|---|
seats | seat[] | The seats in the area. See below. |
Unreserved area
| Field | Type | Description |
|---|---|---|
capacity | integer | The total number of places in the area, such as the size of a standing area. This is the area's full size in the plan, not how many places are left. Spektrix reads how many are left for each instance from the areas list of get instance status. |
Seat (in a Reserved area)
| Field | Type | Description |
|---|---|---|
id | string | Your id for the seat. It must be unique across the whole plan, because availability and basket requests identify seats by id alone. |
row | string | The row label, for example A. |
number | integer | The seat number within the row. |
x, y | integer | The seat's position within its area, in pixels. Spektrix uses these to draw the seats. |
After the import, the client's staff lay out the plan's backgrounds and the positions of each area in Spektrix. Your connector only needs to provide the areas, seats and seat positions within each area.