Seating Maps
Seatmaps represent real world venues. Venues might have different versions or configurations for their seats. These various versions of a venue are called Revisions.
The Map within a Revisions stores the composition of objects for a Seatmap in a JSON based format.
Base URL:
https://seatmap.vivenu.com/api or https://seatmap.vivenu.dev/api
Create a Seatmap
Create a Seatmap
Payload
Required attributes
- Name
title- Type
- string
- Description
The title of the Seatmap
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap', {
method: 'POST',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"title": "string"
}),
})
const data = await response.json()Get a Seatmap
Get a Seatmap
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()Update Seatmap
Update Seatmap
Payload
Required attributes
- Name
title- Type
- string
- Description
The title of the Seatmap
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea', {
method: 'PATCH',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"title": "string"
}),
})
const data = await response.json()Get all Seatmaps
Get all Seatmaps
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()The Map object
Required attributes
- Name
_id- Type
- string
- Description
The ID of the object
- Name
_type- Type
- number
- Description
The type of the object
Optional attributes
- Name
categories- Type
- array<object>
- Description
Required nested attributes (4)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
_type- Type
- enum(1)
- Description
- Name
name- Type
- string
- Description
The name of the category. It is used for display purposes
- Name
color- Type
- string
- Description
A hexadecimal color. Seats and General Admissions with this category get colored.
- Name
images- Type
- array<object>
- Description
An array containing all image of this map
Required nested attributes (7)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
url- Type
- string
- Description
The Url where the image is located
- Name
scaleX- Type
- number
- Description
- Name
scaleY- Type
- number
- Description
- Name
opacity- Type
- number
- Description
The opacity of the image. Opacity is between 0-1
Optional nested attributes (5)
- Name
_type- Type
- enum(2)
- Description
- Name
rotation- Type
- number
- Description
The rotation in degrees around the center point
- Name
template- Type
- boolean
- Description
Whether an image should be used as a template. A template is only visible in designing tool
- Name
width- Type
- number
- Description
- Name
height- Type
- number
- Description
- Name
layers- Type
- array<object>
- Description
An array containing all layers of this map
Required nested attributes (1)
- Name
_id- Type
- string
- Description
The ID of the object
Optional nested attributes (5)
- Name
_type- Type
- enum(0)
- Description
- Name
groups- Type
- array<object>
- Description
An array containing all groups inside of this layer
Required nested attributes (6)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
_type- Type
- enum(3, 4)
- Description
- Name
rowSpacing- Type
- number
- Description
The space between each row
- Name
seatSpacing- Type
- number
- Description
The space between each seat inside of each row
Optional nested attributes (6)
- Name
categoryId- Type
- string
- Description
The ID of the Category this object belongs to
- Name
rows- Type
- array<object>
- Description
An array of rows, included in this group
Required nested attributes (4)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
_type- Type
- enum(3, 5)
- Description
Optional nested attributes (8)
- Name
categoryId- Type
- string
- Description
The ID of the Category this object belongs to
- Name
seats- Type
- array<object>
- Description
An array of seats, included in this row
Required nested attributes (5)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
_type- Type
- enum(3, 6)
- Description
- Name
statusId- Type
- string
- Description
This ID is identifying the state for this object. Guaranteed same for multiple events and duplicated Revisions
Optional nested attributes (8)
- Name
categoryId- Type
- string
- Description
The ID of the Category this object belongs to
- Name
originalX- Type
- number
- Description
- Name
originalY- Type
- number
- Description
- Name
seatType- Type
- enum(handicapped)
- Description
Indicating if this is a special seat. null = normal
- Name
sectionName- Type
- string
- Description
The name of the section this seat belongs to
- Name
groupName- Type
- string
- Description
The name of the group this seat belongs to
- Name
rowName- Type
- string
- Description
The name of the row this seat belongs to
- Name
seatName- Type
- string
- Description
The name of the seat
- Name
rotation- Type
- number
- Description
The rotation in degrees around the center point
- Name
seatNumberingStrategy- Type
- enum(0, 1)
- Description
The strategy how the seats got labeled. LeftToRight = 0, RightToLeft = 1
- Name
seatNumberingLabels- Type
- enum(0, 1)
- Description
The type of labels to use labeling the seats. Numbers = 0, Alphabet = 1
- Name
originalX- Type
- number
- Description
- Name
originalY- Type
- number
- Description
- Name
name- Type
- string
- Description
The name of the row
- Name
rotation- Type
- number
- Description
The rotation in degrees around the center point
- Name
curving- Type
- number
- Description
A weight how the group got curved
- Name
name- Type
- string
- Description
The name of the group
- Name
sectionName- Type
- string
- Description
An optional section name. Usually used when group is not inside a section but anyway want to label the seats with a section name
- Name
sections- Type
- array<object>
- Description
An array containing all sections inside of this layer
Required nested attributes (6)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
name- Type
- string
- Description
The name of the section. It is used for display purposes
- Name
coordinates- Type
- array<object>
- Description
An array of coordinates. If type == `polygon` each point respresents a real point. If type == `rect` coordinates[0] represents start (x,y) and coordinates[1] (width,height)
Required nested attributes (2)
- Name
x- Type
- number
- Description
The x position of the point. Relative to parents
- Name
y- Type
- number
- Description
The y position of the point. Relative to parents
- Name
_type- Type
- enum(3)
- Description
Optional nested attributes (5)
- Name
categoryId- Type
- string
- Description
The ID of the Category this object belongs to
- Name
type- Type
- enum(rect, polygon)
- Description
The type of the section
- Name
rotation- Type
- number
- Description
The rotation in degrees around the center point of the shape
- Name
controlPoints- Type
- array<object>
- Description
An array of coordinates. Set if type == `polygon`. The control points are used to bend the polygon path
Required nested attributes (2)
- Name
x- Type
- number
- Description
The x position of the point. Relative to parents
- Name
y- Type
- number
- Description
The y position of the point. Relative to parents
- Name
groups- Type
- array<object>
- Description
An array of all groups inside of this section
Required nested attributes (6)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
_type- Type
- enum(3, 4)
- Description
- Name
rowSpacing- Type
- number
- Description
The space between each row
- Name
seatSpacing- Type
- number
- Description
The space between each seat inside of each row
Optional nested attributes (6)
- Name
categoryId- Type
- string
- Description
The ID of the Category this object belongs to
- Name
rows- Type
- array<object>
- Description
An array of rows, included in this group
Required nested attributes (4)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
_type- Type
- enum(3, 5)
- Description
Optional nested attributes (8)
- Name
categoryId- Type
- string
- Description
The ID of the Category this object belongs to
- Name
seats- Type
- array<object>
- Description
An array of seats, included in this row
Required nested attributes (5)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
_type- Type
- enum(3, 6)
- Description
- Name
statusId- Type
- string
- Description
This ID is identifying the state for this object. Guaranteed same for multiple events and duplicated Revisions
Optional nested attributes (8)
- Name
categoryId- Type
- string
- Description
The ID of the Category this object belongs to
- Name
originalX- Type
- number
- Description
- Name
originalY- Type
- number
- Description
- Name
seatType- Type
- enum(handicapped)
- Description
Indicating if this is a special seat. null = normal
- Name
sectionName- Type
- string
- Description
The name of the section this seat belongs to
- Name
groupName- Type
- string
- Description
The name of the group this seat belongs to
- Name
rowName- Type
- string
- Description
The name of the row this seat belongs to
- Name
seatName- Type
- string
- Description
The name of the seat
- Name
rotation- Type
- number
- Description
The rotation in degrees around the center point
- Name
seatNumberingStrategy- Type
- enum(0, 1)
- Description
The strategy how the seats got labeled. LeftToRight = 0, RightToLeft = 1
- Name
seatNumberingLabels- Type
- enum(0, 1)
- Description
The type of labels to use labeling the seats. Numbers = 0, Alphabet = 1
- Name
originalX- Type
- number
- Description
- Name
originalY- Type
- number
- Description
- Name
name- Type
- string
- Description
The name of the row
- Name
rotation- Type
- number
- Description
The rotation in degrees around the center point
- Name
curving- Type
- number
- Description
A weight how the group got curved
- Name
name- Type
- string
- Description
The name of the group
- Name
sectionName- Type
- string
- Description
An optional section name. Usually used when group is not inside a section but anyway want to label the seats with a section name
- Name
ga- Type
- array<object>
- Description
An array containing all general admissions inside of this layer
Required nested attributes (8)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
- Name
name- Type
- string
- Description
The name of the section. It is used for display purposes
- Name
coordinates- Type
- array<object>
- Description
An array of coordinates. If type == `polygon` each point respresents a real point. If type == `rect` coordinates[0] represents start (x,y) and coordinates[1] (width,height)
Required nested attributes (2)
- Name
x- Type
- number
- Description
The x position of the point. Relative to parents
- Name
y- Type
- number
- Description
The y position of the point. Relative to parents
- Name
statusId- Type
- string
- Description
This ID is identifying the state for this object. Guaranteed same for multiple events and duplicated Revisions
- Name
_type- Type
- enum(7)
- Description
- Name
amount- Type
- number
- Description
The amount of seats inside of this general admission
Optional nested attributes (5)
- Name
categoryId- Type
- string
- Description
The ID of the Category this object belongs to
- Name
type- Type
- enum(rect, polygon)
- Description
The type of the section
- Name
rotation- Type
- number
- Description
The rotation in degrees around the center point of the shape
- Name
controlPoints- Type
- array<object>
- Description
An array of coordinates. Set if type == `polygon`. The control points are used to bend the polygon path
Required nested attributes (2)
- Name
x- Type
- number
- Description
The x position of the point. Relative to parents
- Name
y- Type
- number
- Description
The y position of the point. Relative to parents
- Name
showAvailableSeats- Type
- boolean
- Description
Whether the amount of available seats should be visible
- Name
viewPoints- Type
- array<object>
- Description
An array containing all viewpoints inside of this layer
Required nested attributes (3)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
Optional nested attributes (3)
- Name
_type- Type
- enum(10)
- Description
- Name
imageType- Type
- enum(FLAT)
- Description
- Name
image- Type
- string
- Description
- Name
focalPoint- Type
- array<object>
- Description
An array containing all focalpoints of this map
Required nested attributes (3)
- Name
_id- Type
- string
- Description
The ID of the object
- Name
x- Type
- number
- Description
The x position of the object. Relative to parents
- Name
y- Type
- number
- Description
The y position of the object. Relative to parents
Optional nested attributes (1)
- Name
_type- Type
- enum(9)
- Description
Example
{
"_id": "507f191e810c19729de860ea",
"_type": 10.5,
"categories": [
{
"_id": "507f191e810c19729de860ea",
"_type": 1,
"name": "Example Name",
"color": "string"
}
],
"images": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"url": "https://example.com",
"scaleX": 10.5,
"scaleY": 10.5,
"opacity": 10.5,
"_type": 2,
"rotation": 10.5,
"template": true,
"width": 10.5,
"height": 10.5
}
],
"layers": [
{
"_id": "507f191e810c19729de860ea",
"_type": 0,
"groups": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"_type": 3,
"rowSpacing": 10.5,
"seatSpacing": 10.5,
"categoryId": "507f191e810c19729de860ea",
"rows": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"_type": 3,
"categoryId": "507f191e810c19729de860ea",
"seats": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"_type": 3,
"statusId": "507f191e810c19729de860ea",
"categoryId": "507f191e810c19729de860ea",
"originalX": 10.5,
"originalY": 10.5,
"seatType": "handicapped",
"sectionName": "string",
"groupName": "string",
"rowName": "string",
"seatName": "string"
}
],
"rotation": 10.5,
"seatNumberingStrategy": 0,
"seatNumberingLabels": 0,
"originalX": 10.5,
"originalY": 10.5,
"name": "Example Name"
}
],
"rotation": 10.5,
"curving": 10.5,
"name": "Example Name",
"sectionName": "string"
}
],
"sections": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"name": "Example Name",
"coordinates": [
{
"x": 10.5,
"y": 10.5
}
],
"_type": 3,
"categoryId": "507f191e810c19729de860ea",
"type": "rect",
"rotation": 10.5,
"controlPoints": [
{
"x": 10.5,
"y": 10.5
}
],
"groups": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"_type": 3,
"rowSpacing": 10.5,
"seatSpacing": 10.5,
"categoryId": "507f191e810c19729de860ea",
"rows": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"_type": 3,
"categoryId": "507f191e810c19729de860ea",
"seats": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"_type": 3,
"statusId": "507f191e810c19729de860ea",
"categoryId": "507f191e810c19729de860ea",
"originalX": 10.5,
"originalY": 10.5,
"seatType": "handicapped",
"sectionName": "string",
"groupName": "string",
"rowName": "string",
"seatName": "string"
}
],
"rotation": 10.5,
"seatNumberingStrategy": 0,
"seatNumberingLabels": 0,
"originalX": 10.5,
"originalY": 10.5,
"name": "Example Name"
}
],
"rotation": 10.5,
"curving": 10.5,
"name": "Example Name",
"sectionName": "string"
}
]
}
],
"ga": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"name": "Example Name",
"coordinates": [
{
"x": 10.5,
"y": 10.5
}
],
"statusId": "507f191e810c19729de860ea",
"_type": 7,
"amount": 10.5,
"categoryId": "507f191e810c19729de860ea",
"type": "rect",
"rotation": 10.5,
"controlPoints": [
{
"x": 10.5,
"y": 10.5
}
],
"showAvailableSeats": true
}
],
"viewPoints": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"_type": 10,
"imageType": "FLAT",
"image": "string"
}
]
}
],
"focalPoint": [
{
"_id": "507f191e810c19729de860ea",
"x": 10.5,
"y": 10.5,
"_type": 9
}
]
}Create a Revision
Create a Revision
Payload
Required attributes
- Name
seatMap- Type
- object
- Description
The Map Object of the Seatmap
Optional attributes
- Name
comment- Type
- string
- Description
A comment describing this Revision
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision', {
method: 'POST',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"seatMap": {},
"comment": "string"
}),
})
const data = await response.json()Get a Revision
Get a Revision
Query parameters
Optional query parameters
- Name
includeSeatmap- Type
- boolean
- Description
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision/507f191e810c19729de860ea?includeSeatmap=true', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()Update a Revision
Update a Revision
Payload
Required attributes
- Name
seatMap- Type
- object
- Description
The Map Object of the Seatmap
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision/507f191e810c19729de860ea', {
method: 'PUT',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"seatMap": {}
}),
})
const data = await response.json()Patch a Revision
Patch a Revision
Payload
Required attributes
- Name
comment- Type
- string
- Description
A comment describing this Revision
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision/507f191e810c19729de860ea', {
method: 'PATCH',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"comment": "string"
}),
})
const data = await response.json()Duplicate a Revision
Duplicate a Revision
Payload
Optional attributes
- Name
comment- Type
- string
- Description
A comment describing this Revision
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision/507f191e810c19729de860ea/clone', {
method: 'POST',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"comment": "string"
}),
})
const data = await response.json()Export a Revision
Export a Revision
Query parameters
Optional query parameters
- Name
format- Type
- enum(json)
- Description
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision/507f191e810c19729de860ea/export?format=json', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()Import a Revision
Import a Revision
Payload
Optional attributes
- Name
comment- Type
- string
- Description
A comment describing this Revision
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision/import', {
method: 'POST',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"comment": "string"
}),
})
const data = await response.json()Get all Seatmap's Revisions
Get all Seatmap's Revisions
Request
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()