Seating Events
Seating Events are used manage the status of objects within a map for given event. An event represents a Seatmap + Revision and keeps track of the state. The state includes all the Objects of the Map.
Base URL:
https://seatmap.vivenu.com/api or https://seatmap.vivenu.dev/api
Create an Event
Create an Event
In order to create a new event, you will have to create first a Seatmap and Revision.
If you already have a seatmap and a revision created you can create a new event with this endpoint.
Payload
Required attributes
- Name
seatMapId- Type
- string
- Description
The ID of the Seatmap to be used
- Name
revisionId- Type
- string
- Description
The ID of the Revision of the seatmap for the event
Request
const response = await fetch('https://seatmap.vivenu.com/api/event', {
method: 'POST',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"seatMapId": "507f191e810c19729de860ea",
"revisionId": "507f191e810c19729de860ea"
}),
})
const data = await response.json()Response (200)
{
"_id": "507f191e810c19729de860ea",
"seatMapId": "507f191e810c19729de860ea",
"revisionId": "507f191e810c19729de860ea",
"_owner": "string",
"createdAt": "2030-01-23T23:00:00.123Z",
"updatedAt": "2030-01-23T23:00:00.123Z"
}Get an Event
Get an Event
Request
const response = await fetch('https://seatmap.vivenu.com/api/event/507f191e810c19729de860ea', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()Response (200)
{
"_id": "507f191e810c19729de860ea",
"seatMapId": "507f191e810c19729de860ea",
"revisionId": "507f191e810c19729de860ea",
"_owner": "string",
"createdAt": "2030-01-23T23:00:00.123Z",
"updatedAt": "2030-01-23T23:00:00.123Z"
}Get all Events
Get all Events
Request
const response = await fetch('https://seatmap.vivenu.com/api/event', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()Response (200)
[
{
"_id": "507f191e810c19729de860ea",
"seatMapId": "507f191e810c19729de860ea",
"revisionId": "507f191e810c19729de860ea",
"_owner": "string",
"createdAt": "2030-01-23T23:00:00.123Z",
"updatedAt": "2030-01-23T23:00:00.123Z"
}
]The Contingent object
Required attributes
- Name
name- Type
- string
- Description
The name of the Contingent
- Name
eventId- Type
- string
- Description
The ID of the event this Contingent belongs to
Optional attributes
- Name
blockedUntil- Type
- string
- Description
An ISO timestamp indicating until when this Contingent is blocked. Unlimited if empty
- Name
objects- Type
- array<string>
- Description
An array of Status-IDs blocked through this contingent
- Name
generalAdmission- Type
- boolean
- Description
Whether the contingent is for General Admissions only
- Name
amount- Type
- number
- Description
if generalAdmission = true. The amount of blocked seats inside of the General Admission
- Name
createdAt- Type
- string
- Description
An ISO timestamp indicating when the contingent was created
- Name
updatedAt- Type
- string
- Description
An ISO timestamp indicating when the contingent was updated
Example
{
"name": "Example Name",
"eventId": "507f191e810c19729de860ea",
"blockedUntil": "2030-01-23T23:00:00.123Z",
"objects": [
"string"
],
"generalAdmission": true,
"amount": 10.5,
"createdAt": "2030-01-23T23:00:00.123Z",
"updatedAt": "2030-01-23T23:00:00.123Z"
}Create a Contingent
Create a Contingent
Payload
Optional attributes
- Name
type- Type
- string
- Description
- Name
name- Type
- string
- Description
The name of the Contingent
- Name
blockedUntil- Type
- string
- Description
An ISO timestamp indicating until when this Contingent is blocked. Unlimited if empty
- Name
objects- Type
- array<string>
- Description
An array of Status-IDs blocked through this contingent
- Name
generalAdmission- Type
- boolean
- Description
Whether the contingent is for General Admissions only
- Name
amount- Type
- number
- Description
if generalAdmission = true. The amount of blocked seats inside of the General Admission
Request
const response = await fetch('https://seatmap.vivenu.com/api/event/507f191e810c19729de860ea/contingents', {
method: 'POST',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"type": "legacy-contingent",
"name": "Example Name",
"blockedUntil": "2030-01-23T23:00:00.123Z",
"objects": [
"string"
],
"generalAdmission": true,
"amount": 10.5
}),
})
const data = await response.json()Response (200)
{
"name": "Example Name",
"eventId": "507f191e810c19729de860ea",
"blockedUntil": "2030-01-23T23:00:00.123Z",
"objects": [
"string"
],
"generalAdmission": true,
"amount": 10.5,
"createdAt": "2030-01-23T23:00:00.123Z",
"updatedAt": "2030-01-23T23:00:00.123Z"
}Update a Contingent
Update a Contingent
Payload
Optional attributes
- Name
type- Type
- string
- Description
- Name
name- Type
- string
- Description
The name of the Contingent
- Name
blockedUntil- Type
- string
- Description
An ISO timestamp indicating until when this Contingent is blocked. Unlimited if empty
- Name
objects- Type
- array<string>
- Description
An array of Status-IDs blocked through this contingent
- Name
generalAdmission- Type
- boolean
- Description
Whether the contingent is for General Admissions only
- Name
amount- Type
- number
- Description
if generalAdmission = true. The amount of blocked seats inside of the General Admission
Request
const response = await fetch('https://seatmap.vivenu.com/api/event/507f191e810c19729de860ea/contingents/507f191e810c19729de860ea', {
method: 'PUT',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"type": "legacy-contingent",
"name": "Example Name",
"blockedUntil": "2030-01-23T23:00:00.123Z",
"objects": [
"string"
],
"generalAdmission": true,
"amount": 10.5
}),
})
const data = await response.json()Response (200)
{
"name": "Example Name",
"eventId": "507f191e810c19729de860ea",
"blockedUntil": "2030-01-23T23:00:00.123Z",
"objects": [
"string"
],
"generalAdmission": true,
"amount": 10.5,
"createdAt": "2030-01-23T23:00:00.123Z",
"updatedAt": "2030-01-23T23:00:00.123Z"
}Delete a Contingent
Delete a Contingent
Request
const response = await fetch('https://seatmap.vivenu.com/api/event/507f191e810c19729de860ea/contingents/507f191e810c19729de860ea', {
method: 'DELETE',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()Get a Contingent
Get a Contingent
Request
const response = await fetch('https://seatmap.vivenu.com/api/event/507f191e810c19729de860ea/contingents/507f191e810c19729de860ea', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()Response (200)
{
"name": "Example Name",
"eventId": "507f191e810c19729de860ea",
"blockedUntil": "2030-01-23T23:00:00.123Z",
"objects": [
"string"
],
"generalAdmission": true,
"amount": 10.5,
"createdAt": "2030-01-23T23:00:00.123Z",
"updatedAt": "2030-01-23T23:00:00.123Z"
}Get all Contingents
Get all Contingents
Request
const response = await fetch('https://seatmap.vivenu.com/api/event/507f191e810c19729de860ea/contingents', {
method: 'GET',
headers: {
Authorization: 'Bearer {token}',
},
})
const data = await response.json()Response (200)
[]Reserve (best available) objects
Reserve (best available) objects
This endpoint is intended for internal use only. It can be used to reserve specific objects directly or to reserve the best available seats within specified seating categories.
Request
const response = await fetch('https://seatmap.vivenu.com/api/event/507f191e810c19729de860ea/reserve', {
method: 'POST',
headers: {
Authorization: 'Bearer {token}',
'Content-Type': 'application/json',
},
body: JSON.stringify( {
"statusIds": [
"string"
],
"childEventIds": [
"string"
],
"token": "string",
"config": {}
}),
})
const data = await response.json()Response (200)
{
"info": {
"isSplit": true
}
}