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

POST/api/event

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

POST
/api/event
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/api/event/:id

Get an Event

Get an Event

Request

GET
/api/event/:id
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/api/event

Get all Events

Get all Events

Request

GET
/api/event
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"
}

POST/api/event/:id/contingents

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

POST
/api/event/:id/contingents
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"
}

PUT/api/event/:id/contingents/:contingentId

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

PUT
/api/event/:id/contingents/:contingentId
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/api/event/:id/contingents/:contingentId

Delete a Contingent

Delete a Contingent

Request

DELETE
/api/event/:id/contingents/:contingentId
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/api/event/:id/contingents/:contingentId

Get a Contingent

Get a Contingent

Request

GET
/api/event/:id/contingents/:contingentId
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/api/event/:id/contingents

Get all Contingents

Get all Contingents

Request

GET
/api/event/:id/contingents
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)

[]

POST/api/event/:id/reserve

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

POST
/api/event/:id/reserve
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
  }
}

Was this page helpful?