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

POST/api/seatmap

Create a Seatmap

Create a Seatmap

Payload

Required attributes

  • Name
    title
    Type
    string
    Description

    The title of the Seatmap

Request

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

Get a Seatmap

Get a Seatmap

Request

GET
/api/seatmap/:id
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer {token}',
  },
})

const data = await response.json()

PATCH/api/seatmap/:id

Update Seatmap

Update Seatmap

Payload

Required attributes

  • Name
    title
    Type
    string
    Description

    The title of the Seatmap

Request

PATCH
/api/seatmap/:id
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/api/seatmap

Get all Seatmaps

Get all Seatmaps

Request

GET
/api/seatmap
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
    }
  ]
}

POST/api/seatmap/:id/revision

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

POST
/api/seatmap/:id/revision
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/api/seatmap/:id/revision/:revisionId

Get a Revision

Get a Revision

Query parameters

Optional query parameters

  • Name
    includeSeatmap
    Type
    boolean
    Description

Request

GET
/api/seatmap/:id/revision/:revisionId
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()

PUT/api/seatmap/:id/revision/:revisionId

Update a Revision

Update a Revision

Payload

Required attributes

  • Name
    seatMap
    Type
    object
    Description

    The Map Object of the Seatmap

Request

PUT
/api/seatmap/:id/revision/:revisionId
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/api/seatmap/:id/revision/:revisionId

Patch a Revision

Patch a Revision

Payload

Required attributes

  • Name
    comment
    Type
    string
    Description

    A comment describing this Revision

Request

PATCH
/api/seatmap/:id/revision/:revisionId
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()

POST/api/seatmap/:id/revision/:revisionId/clone

Duplicate a Revision

Duplicate a Revision

Payload

Optional attributes

  • Name
    comment
    Type
    string
    Description

    A comment describing this Revision

Request

POST
/api/seatmap/:id/revision/:revisionId/clone
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()

GET/api/seatmap/:id/revision/:revisionId/export

Export a Revision

Export a Revision

Query parameters

Optional query parameters

  • Name
    format
    Type
    enum(json)
    Description

Request

GET
/api/seatmap/:id/revision/:revisionId/export
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()

POST/api/seatmap/:id/revision/import

Import a Revision

Import a Revision

Payload

Optional attributes

  • Name
    comment
    Type
    string
    Description

    A comment describing this Revision

Request

POST
/api/seatmap/:id/revision/import
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/api/seatmap/:id/revision

Get all Seatmap's Revisions

Get all Seatmap's Revisions

Request

GET
/api/seatmap/:id/revision
const response = await fetch('https://seatmap.vivenu.com/api/seatmap/507f191e810c19729de860ea/revision', {
  method: 'GET',
  headers: {
    Authorization: 'Bearer {token}',
  },
})

const data = await response.json()

Was this page helpful?