Back to top

Venue Manager shop API

API for Venue Manager specific elements.

Links to the other modules’ endpoints can be found at http://docs.api.venuemanager.net/.

The end-points can be requested in either JSON or XML. This is specified with the Content-Type header (application/json or application/xml). The format of the returned content will follow the type from the request.

For many a user is required which should be done using HTTP Authentication.

Scanning

Endpoints related to scanning.

There are two types of scanning: Interactive and batch.

The following statusCode’s are used:

  • 1: Used

  • 2: Cancelled, refunded, etc.

  • 3: Seasoncard/Ticket is blocked

  • 4: Seasoncard/Ticket is deleted

  • 5: Double scanning. Used when the same barcode is scanned twice.

  • 6: Unknown barcode

  • 7: Scanned out - ie can be used again.

  • 8: Barcode scanned at a gate where it is not valid

The following status codes are also used as reason (return value):

  • 100: Unknown barcode type

  • 103: Order not OK

  • 104: Barcode is not for the specified event

  • 105: Access given on an already used barcode

  • 106: Access given on a cancelled barcode

  • 107: Unknown error

  • 109: The server does not recognize the barcode

  • 111: The scanning could not be saved

  • 113: The barcode could not be parsed

  • 114: Validation period for the ticket have expired

  • 115: Today is not part of the ticket season

  • 116: Could not “scan in” as the ticket was already registered as scanned in

  • 117: Could not “scan out” as the ticket was already registered as scanned out

  • 118: Could not “scan out” as the ticket was not registered as scanned in

  • 119: Internal exception

  • 120: Get status scanning, no changes made

  • 121: Joker scanning

  • 123: Already received by the server

Get scans

Get scans
GET/scanning{?eventId,from,to,afterId,limit}

Find scans for an event.

Example URI

GET https://{customer}.admin.venuemanager.net/api//scanning?eventId=102&from=2019-02-14 13:37:00&to=2019-02-14 13:37:00&afterId=530342&limit=1000
URI Parameters
HideShow
eventId
number (required) Example: 102

ID of the event to retrieve scans for (not category ID)

from
string (optional) Example: 2019-02-14 13:37:00

Only scans from this time (included)

to
string (optional) Example: 2019-02-14 13:37:00

Only scans to this time (included)

afterId
number (optional) Example: 530342

Only find scans that are after this scan ID

limit
number (optional) Example: 1000

Only find this amount of scans

Request
HideShow
Headers
Content-Type: application/json or application/xml
Response  200
HideShow
Headers
Content-Type: application/json or application/xml
Body
[
  {
    "id": 1,
    "scanTime": "2019-02-14 13:37:00",
    "userId": 1,
    "userName": "Peter Test",
    "statusCode": 1,
    "status": "Scanned",
    "barcode": "9990001234500001234",
    "type": "admission",
    "number": "12345"
  }
]
Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "number",
        "description": "ID of the scan on the server"
      },
      "scanTime": {
        "type": "string",
        "description": "The time the scanning was performed"
      },
      "userId": {
        "type": "number",
        "description": "ID of the user/device that performed the scan"
      },
      "userName": {
        "type": "string",
        "description": "Name of the user/device that performed the scan"
      },
      "statusCode": {
        "type": "number",
        "description": "The status code for the scan on the server"
      },
      "status": {
        "type": "string",
        "description": "A textual representation of the status code"
      },
      "barcode": {
        "type": "string",
        "description": "The barcode scanned"
      },
      "type": {
        "enum": [
          "admission",
          "season_card",
          "season_card_alias",
          "joker_scan"
        ],
        "description": "Type of the barcode scanned, if known",
        "type": [
          null,
          "null"
        ]
      },
      "number": {
        "type": [
          "string",
          "null"
        ],
        "description": "The number related to the barcode. For admission this is the ticket number, for season tickets this is the card number"
      }
    },
    "required": [
      "id",
      "scanTime",
      "userId",
      "userName",
      "statusCode",
      "status",
      "barcode",
      "type",
      "number"
    ]
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}

Interactive scan

Interactive scan
POST/scanning/interactive

Example URI

POST https://{customer}.admin.venuemanager.net/api//scanning/interactive
Request
HideShow

For performing a scan and validation.

Headers
Content-Type: application/json or application/xml
Authorization: Basic ZnNfamNkOjEyM3Rlc3Q=
Body
{
  "action": "check_in",
  "barcode": "00001234500010213",
  "eventIds": [
    1
  ]
}
Schema
{
  "type": "object",
  "properties": {
    "action": {
      "enum": [
        "check_in",
        "check_out",
        "get_status",
        "get_info"
      ]
    },
    "barcode": {
      "type": "string",
      "description": "The scanned barcode"
    },
    "eventIds": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "IDs of the events the scan was for. If the scanned barcode is a season card, only one event ID is allowed. If the action is \"get_info\" then eventIds is allowed to be empty. In this case the current and active seasons are used instead."
    }
  },
  "required": [
    "action",
    "barcode"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json or application/xml
Body
{
  "recognized": true,
  "isValid": true,
  "reason": 2,
  "barcodeInfo": {
    "type": "ticket",
    "number": "12345",
    "orderLineId": 12345,
    "count": 0,
    "oldStatus": 1,
    "newStatus": 2,
    "eventId": 123
  },
  "tokenInfo": {
    "moduleLabel": "season",
    "feedback": "Hello, world!",
    "identityName": "Hello, world!",
    "resources": [
      {
        "name": "Superbowl 2014, VIP seat",
        "customerId": 123,
        "customerName": "Hello, world!",
        "customerEmail": "Hello, world!",
        "orderId": 123,
        "orderAuthorizedTime": "Hello, world!",
        "usages": [
          {
            "scanTime": "Hello, world!",
            "userId": 1,
            "userName": "Hello, world!",
            "description": "Hello, world!",
            "code": "Hello, world!"
          }
        ],
        "extraHtml": "Hello, world!"
      }
    ]
  }
}
Schema
{
  "type": "object",
  "properties": {
    "recognized": {
      "type": "boolean",
      "description": "If the server recognized the barcode"
    },
    "isValid": {
      "type": "boolean",
      "description": "If the server see the barcode as valid"
    },
    "reason": {
      "type": "number",
      "description": "Status code after the server has saved the scanning"
    },
    "barcodeInfo": {
      "enum": [
        null,
        null,
        null,
        null
      ],
      "description": "Various info about the barcode, if found"
    },
    "tokenInfo": {
      "type": "object",
      "properties": {
        "moduleLabel": {
          "type": "string",
          "description": "Label of the backend module that recognized the barcode"
        },
        "feedback": {
          "type": "string",
          "description": "String for the feedback DIV"
        },
        "identityName": {
          "type": "string",
          "description": "Name on card etc."
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Name of the resource"
              },
              "customerId": {
                "type": "number",
                "description": "Customer's ID (from the order)"
              },
              "customerName": {
                "type": "string",
                "description": "Customer's name (from the order)"
              },
              "customerEmail": {
                "type": "string",
                "description": "Customer's email address (from the order)"
              },
              "orderId": {
                "type": "number",
                "description": "ID of the order"
              },
              "orderAuthorizedTime": {
                "type": "string",
                "description": "The order's authorization time."
              },
              "usages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "scanTime": {
                      "type": "string",
                      "description": "When was the ticket used? YYYY-MM-DD HH:MM:SS"
                    },
                    "userId": {
                      "type": "number",
                      "description": "ID of the user who scanned the ticket"
                    },
                    "userName": {
                      "type": "string",
                      "description": "Name of the user who scanned the ticket"
                    },
                    "description": {
                      "type": "string",
                      "description": "What happened?"
                    },
                    "code": {
                      "type": "string",
                      "description": "Optional code for internal use by the backends"
                    }
                  },
                  "required": [
                    "scanTime",
                    "userId",
                    "userName",
                    "description"
                  ]
                },
                "description": "Information about usages of the ticket."
              },
              "extraHtml": {
                "type": "string",
                "description": "Extra data that does not fit in the above properties"
              }
            },
            "required": [
              "name",
              "customerId",
              "customerName",
              "customerEmail",
              "orderId",
              "orderAuthorizedTime",
              "usages",
              "extraHtml"
            ]
          },
          "description": "A list of the resources the token is related to. When checking in or out normally only the affected resource is returned"
        }
      },
      "required": [
        "moduleLabel",
        "feedback",
        "identityName",
        "resources"
      ],
      "description": "Various extra data, if found (always NULL for batch results)"
    }
  },
  "required": [
    "recognized",
    "isValid",
    "reason"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  400
HideShow
Headers
Content-Type: application/json or application/xml

Batch Scanning

Batch Scanning
POST/scanning/batch?verbose=

Example URI

POST https://{customer}.admin.venuemanager.net/api//scanning/batch?verbose=
Request
HideShow

For saving scans and validations performed elsewhere. Will return a list of barcodes that could not be handled by the server. With the verbose-flag it will return scanning info for all barcodes.

Headers
Content-Type: application/json or application/xml
Authorization: Basic ZnNfamNkOjEyM3Rlc3Q=
Body
[
  {
    "id": 1,
    "eventId": 0,
    "seasonIds": [
      1
    ],
    "barcode": "00001234500010213",
    "statusCode": 1,
    "statusTime": "2019-02-14 13:37:00"
  }
]
Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "number",
        "description": "ID of the scan on the scanner"
      },
      "eventId": {
        "type": "number",
        "description": "ID of the event the scan was for."
      },
      "seasonIds": {
        "type": "array",
        "items": {
          "type": "number"
        },
        "description": "IDs of seasons for season wide scans."
      },
      "barcode": {
        "type": "string",
        "description": "The scanned barcode"
      },
      "statusCode": {
        "type": "number",
        "description": "The status code for the barcode on the scanner as a result of this scan"
      },
      "statusTime": {
        "type": "string",
        "description": "The time the scanning was performed"
      }
    },
    "required": [
      "barcode",
      "statusCode",
      "statusTime"
    ]
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json or application/xml
Body
{
  "barcodes": [
    {
      "id": 1,
      "barcode": "00001234500010213",
      "scanning": {
        "recognized": true,
        "isValid": true,
        "reason": 2,
        "barcodeInfo": {
          "type": "ticket",
          "number": "12345",
          "orderLineId": 12345,
          "count": 0,
          "oldStatus": 1,
          "newStatus": 2,
          "eventId": 123
        },
        "tokenInfo": {
          "moduleLabel": "season",
          "feedback": "Hello, world!",
          "identityName": "Hello, world!",
          "resources": [
            {
              "name": "Superbowl 2014, VIP seat",
              "customerId": 123,
              "customerName": "Hello, world!",
              "customerEmail": "Hello, world!",
              "orderId": 123,
              "orderAuthorizedTime": "Hello, world!",
              "usages": [
                {
                  "scanTime": "Hello, world!",
                  "userId": 1,
                  "userName": "Hello, world!",
                  "description": "Hello, world!",
                  "code": "Hello, world!"
                }
              ],
              "extraHtml": "Hello, world!"
            }
          ]
        }
      },
      "message": "Scannet ind"
    }
  ],
  "totalOk": 10,
  "totalFailed": 0
}
Schema
{
  "type": "object",
  "properties": {
    "barcodes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "ID of the scan on the scanner"
          },
          "barcode": {
            "type": "string",
            "description": "The scanned barcode"
          },
          "scanning": {
            "type": "object",
            "properties": {
              "recognized": {
                "type": "boolean",
                "description": "If the server recognized the barcode"
              },
              "isValid": {
                "type": "boolean",
                "description": "If the server see the barcode as valid"
              },
              "reason": {
                "type": "number",
                "description": "Status code after the server has saved the scanning"
              },
              "barcodeInfo": {
                "enum": [
                  null,
                  null,
                  null,
                  null
                ],
                "description": "Various info about the barcode, if found"
              },
              "tokenInfo": {
                "type": "object",
                "properties": {
                  "moduleLabel": {
                    "type": "string",
                    "description": "Label of the backend module that recognized the barcode"
                  },
                  "feedback": {
                    "type": "string",
                    "description": "String for the feedback DIV"
                  },
                  "identityName": {
                    "type": "string",
                    "description": "Name on card etc."
                  },
                  "resources": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string",
                          "description": "Name of the resource"
                        },
                        "customerId": {
                          "type": "number",
                          "description": "Customer's ID (from the order)"
                        },
                        "customerName": {
                          "type": "string",
                          "description": "Customer's name (from the order)"
                        },
                        "customerEmail": {
                          "type": "string",
                          "description": "Customer's email address (from the order)"
                        },
                        "orderId": {
                          "type": "number",
                          "description": "ID of the order"
                        },
                        "orderAuthorizedTime": {
                          "type": "string",
                          "description": "The order's authorization time."
                        },
                        "usages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "scanTime": {
                                "type": "string",
                                "description": "When was the ticket used? YYYY-MM-DD HH:MM:SS"
                              },
                              "userId": {
                                "type": "number",
                                "description": "ID of the user who scanned the ticket"
                              },
                              "userName": {
                                "type": "string",
                                "description": "Name of the user who scanned the ticket"
                              },
                              "description": {
                                "type": "string",
                                "description": "What happened?"
                              },
                              "code": {
                                "type": "string",
                                "description": "Optional code for internal use by the backends"
                              }
                            },
                            "required": [
                              "scanTime",
                              "userId",
                              "userName",
                              "description"
                            ]
                          },
                          "description": "Information about usages of the ticket."
                        },
                        "extraHtml": {
                          "type": "string",
                          "description": "Extra data that does not fit in the above properties"
                        }
                      },
                      "required": [
                        "name",
                        "customerId",
                        "customerName",
                        "customerEmail",
                        "orderId",
                        "orderAuthorizedTime",
                        "usages",
                        "extraHtml"
                      ]
                    },
                    "description": "A list of the resources the token is related to. When checking in or out normally only the affected resource is returned"
                  }
                },
                "required": [
                  "moduleLabel",
                  "feedback",
                  "identityName",
                  "resources"
                ],
                "description": "Various extra data, if found (always NULL for batch results)"
              }
            },
            "required": [
              "recognized",
              "isValid",
              "reason"
            ],
            "description": "Info about the scanning. Is null if the server could not handle this barcode."
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "barcode"
        ]
      }
    },
    "totalOk": {
      "type": "number",
      "description": "Total number of barcodes the server could handle"
    },
    "totalFailed": {
      "type": "number",
      "description": "Total number of barcodes the server could not handle. See message on each barcode."
    }
  },
  "required": [
    "barcodes",
    "totalOk",
    "totalFailed"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  500
HideShow
Headers
Content-Type: application/json or application/xml

Superliga Data

Get events

Get events
GET/superliga/events{?organizerId}

Get all events from shop

Example URI

GET https://{customer}.admin.venuemanager.net/api//superliga/events?organizerId=1
URI Parameters
HideShow
organizerId
number (optional) Example: 1

Only events for organizer

Request
HideShow
Headers
Content-Type: application/json or application/xml
Response  200
HideShow
Headers
Content-Type: application/json or application/xml
Body
[
  {
    "Id": 45,
    "Title": "Home - Away",
    "CategoryId": 14,
    "StartTime": "2020-03-03 14:00:00",
    "EndTime": "2020-03-03 16:00:00",
    "SeasonName": "2021/2022",
    "Tournament": "special event"
  }
]
Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "Id": {
        "type": "number"
      },
      "Title": {
        "type": "string",
        "description": "Event name"
      },
      "CategoryId": {
        "type": "number"
      },
      "StartTime": {
        "type": "string"
      },
      "EndTime": {
        "type": "string",
        "description": "End time, may be null"
      },
      "SeasonName": {
        "type": "string"
      },
      "Tournament": {
        "type": "string",
        "description": "Possible values include league, cup, season and special event."
      }
    },
    "required": [
      "Id",
      "Title",
      "CategoryId",
      "StartTime",
      "Tournament"
    ]
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}

Get user data

Get user data
GET/superliga/userdata

Get all customers from shop

Example URI

GET https://{customer}.admin.venuemanager.net/api//superliga/userdata
Request
HideShow
Headers
Content-Type: application/json or application/xml
Response  200
HideShow
Headers
Content-Type: application/json or application/xml
Body
[
  {
    "UserID": "shop@venuemanager.net",
    "ZipCode": "9000"
  }
]
Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "UserID": {
        "type": "string"
      },
      "ZipCode": {
        "type": "string"
      }
    },
    "required": [
      "UserID"
    ]
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}

Get product data

Get product data
GET/superliga/productdata{?mangleDate,organizerId}

Get all season/admission products from shop

Example URI

GET https://{customer}.admin.venuemanager.net/api//superliga/productdata?mangleDate=1&organizerId=1
URI Parameters
HideShow
organizerId
number (optional) Example: 1

Only products from organizer events/seasons.

mangleDate
boolean (optional) Example: 1

Convert date to d/m/Y-format instead of normal Y-m-d

Request
HideShow
Headers
Content-Type: application/json or application/xml
Response  200
HideShow
Headers
Content-Type: application/json or application/xml
Body
[
  {
    "ProductID": 1234,
    "ProductType": "Ståplads",
    "ProductTypeLabel": "admission",
    "Name": "Gryffindor - Slytherin",
    "ProductDate": "2020-10-10 10:10:10"
  }
]
Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "ProductID": {
        "type": "number"
      },
      "ProductType": {
        "type": "string",
        "description": "Product name"
      },
      "ProductTypeLabel": {
        "type": "string"
      },
      "Name": {
        "type": "string",
        "description": "Event name"
      },
      "ProductDate": {
        "type": "string",
        "description": "Parameter `mangleDate` will change format to d/m/Y"
      }
    },
    "required": [
      "ProductID",
      "ProductType",
      "ProductTypeLabel",
      "Name",
      "ProductDate"
    ]
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}

Get transaction data

Get transaction data
GET/superliga/transaction{?dateFrom,dateTo,mangleDate,organizerId}

Get transactions within timespan for shop. Maximum allowed timespan is one month.

Example URI

GET https://{customer}.admin.venuemanager.net/api//superliga/transaction?dateFrom=2020-10-01 00:00:00&dateTo=2020-11-11 11:00:00&mangleDate=1&organizerId=1
URI Parameters
HideShow
organizerId
number (optional) Example: 1
dateFrom
string (optional) Example: 2020-10-01 00:00:00
dateTo
string (optional) Example: 2020-11-11 11:00:00
mangleDate
boolean (optional) Example: 1

Convert date to d/m/Y-format instead of normal Y-m-d

Request
HideShow
Headers
Content-Type: application/json or application/xml
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "ItemTransactionID": 1235,
    "UserID": "shop@venuemanager.net",
    "ProductID": 1234,
    "ProductType": "Ståplads",
    "StartDate": "2020-10-10 10:10:10",
    "EndDate": "2020-11-11 11:11:11",
    "BookingDate": "2020-09-09 09:09:09",
    "Gender": "M",
    "TicketPrice": 155,
    "TicketReturn": "``",
    "CurrencyCode": "DKK",
    "SeatNumber": "54",
    "RowName": "3",
    "SectionName": "B3 Øvre",
    "Tribune": "Øst",
    "Entrance": "Nord",
    "SeatGroup": "``",
    "EventId": 43,
    "SalesChannel": "``",
    "PaymentGateway": "``"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Get attendance data

Get attendance data
GET/superliga/attendance?categoryId={categoryId}

Get attendance for specific event (by category id).

Example URI

GET https://{customer}.admin.venuemanager.net/api//superliga/attendance?categoryId=333
URI Parameters
HideShow
categoryId
number (required) Example: 333
Request
HideShow
Headers
Content-Type: application/json or application/xml
Response  200
HideShow
Headers
Content-Type: application/json or application/xml
Body
[
  {
    "Attandance": 1234,
    "ScanTime": "2020-10-10 10:10:10",
    "EventId": 43,
    "ProductId": 1241,
    "CustomerId": "shop@venuemanager.net"
  }
]
Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "Attandance": {
        "type": "number",
        "description": "Ticket number"
      },
      "ScanTime": {
        "type": "string"
      },
      "EventId": {
        "type": "number"
      },
      "ProductId": {
        "type": "number"
      },
      "CustomerId": {
        "type": "string",
        "description": "Email of customer, corresponds with userdata-result."
      }
    },
    "required": [
      "Attandance",
      "ScanTime",
      "EventId",
      "CustomerId"
    ]
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}

Event

Get Events

Get Events
GET/events{?seasonId,from,to}

Get all events.

Example URI

GET https://{customer}.admin.venuemanager.net/api//events?seasonId=3&from=2019-04-01&to=2019-04-01
URI Parameters
HideShow
seasonId
number (optional) Example: 3

Only events from this season

from
string (optional) Example: 2019-04-01

Only events after or on this date. Special string “now” means only future events

to
string (optional) Example: 2019-04-01

Only events before or on this date. Special string “now” means only past events

Request
HideShow
Headers
Content-Type: application/json or application/xml
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1234,
    "categoryId": 123,
    "name": "Gryffindor - Slytherin",
    "startTime": "2019-02-14 13:37:00",
    "endTime": "2019-02-14 13:37:00",
    "where": "Hogwarts",
    "seasonId": 3,
    "seasonName": "2019/2020"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Get Event

Get Event
GET/event/{eventId}

Example URI

GET https://{customer}.admin.venuemanager.net/api//event/102
URI Parameters
HideShow
eventId
number (required) Example: 102

ID of the event to retrieve scans for (not category ID)

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1234,
  "categoryId": 123,
  "name": "Gryffindor - Slytherin",
  "startTime": "2019-02-14 13:37:00",
  "endTime": "2019-02-14 13:37:00",
  "where": "Hogwarts",
  "seasonId": 3,
  "seasonName": "2019/2020"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "categoryId": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "startTime": {
      "type": "string"
    },
    "endTime": {
      "type": [
        "string",
        "null"
      ],
      "description": "Might not be specified"
    },
    "where": {
      "type": "string"
    },
    "seasonId": {
      "type": "number"
    },
    "seasonName": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "categoryId",
    "name",
    "startTime",
    "endTime",
    "where"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "Unknown event",
  "errorCode": "0"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "error": {
      "type": "string",
      "description": "Textual description of the error."
    },
    "errorCode": {
      "type": "string",
      "description": "A code, often 0."
    }
  },
  "required": [
    "error"
  ]
}

Season

Get all active cards

Get all active cards
GET/season/cards{?seasonId}

Example URI

GET https://{customer}.admin.venuemanager.net/api//season/cards?seasonId=3
URI Parameters
HideShow
seasonId
number (optional) Example: 3

Only events from this season. If not specified, current season is used.

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 12345,
  "token": "999000000383992786",
  "uid": 35871,
  "number": 48171,
  "headerColor": "#ff0000",
  "cardTypeName": "Sæsonkort - Voksen",
  "customerEmail": "example@venuemanager.net",
  "customerId": 48184,
  "cardEmail": "example2@venuemanager.net",
  "productName": "Sæsonkort - Voksen 2022",
  "seatNumber": "22",
  "rowName": "2",
  "sectionLabel": "A3"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "token": {
      "type": "string"
    },
    "uid": {
      "type": "number"
    },
    "number": {
      "type": "number"
    },
    "headerColor": {
      "type": "string"
    },
    "cardTypeName": {
      "type": "string"
    },
    "customerEmail": {
      "type": "string"
    },
    "customerId": {
      "type": "number"
    },
    "cardEmail": {
      "type": "string"
    },
    "productName": {
      "type": "string"
    },
    "seatNumber": {
      "type": "string"
    },
    "rowName": {
      "type": "string"
    },
    "sectionLabel": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "token",
    "uid",
    "number",
    "headerColor",
    "cardTypeName",
    "customerEmail",
    "customerId",
    "productName",
    "seatNumber",
    "rowName",
    "sectionLabel"
  ]
}

Opening times

Opening times
GET/season/openingTimes?date={date}

Example URI

GET https://{customer}.admin.venuemanager.net/api//season/openingTimes?date=2019-04-01
URI Parameters
HideShow
date
string (optional) Example: 2019-04-01

The date to find opening times from. If not specified now is used.

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  null
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}

Opening time texts

Opening time texts
GET/season/openingTimeTexts?dateTime={dateTime}

Example URI

GET https://{customer}.admin.venuemanager.net/api//season/openingTimeTexts?dateTime=2019-04-01 12:34
URI Parameters
HideShow
dateTime
string (optional) Example: 2019-04-01 12:34

The date to find opening times from. If not specified now is used

Response  200
HideShow

Vil returnere et objekt hvor global-feltet er hele parkens åbningstid, mens alle andre felter er åbningstider på andre zoner.

Headers
Content-Type: application/json
Body
{
  "global": "I dag har vi lukket",
  "aquapark": "Aquapark har lukket"
}

Renew season card

Renew season card
POST/season/renewCard

Example URI

POST https://{customer}.admin.venuemanager.net/api//season/renewCard
Request
HideShow

Renew a season card without payment. cardNumber or cardUid is required.

Headers
Content-Type: application/json or application/xml
Authorization: Basic ZnNfamNkOjEyM3Rlc3Q=
Body
{
  "cardNumber": "12345",
  "cardUid": "12345",
  "toSeason": "<name>"
}
Schema
{
  "type": "object",
  "properties": {
    "cardNumber": {
      "type": "string",
      "description": "The card number to renew"
    },
    "cardUid": {
      "type": "string",
      "description": "UID of the card to renew"
    },
    "toSeason": {
      "enum": [
        "<name>",
        "#NEXT",
        "#LATEST",
        "#CURRENT"
      ],
      "description": "Name of the season to renew to."
    }
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow

Returns the card information on success. Most likely it is only id and seasonName that has changed.

Headers
Content-Type: application/json or application/xml
Body
{
  "id": 23456,
  "uid": 12345,
  "number": "12345",
  "barcode": "999000123451234",
  "cardTypeName": "Almindelig",
  "address": [
    {
      "field": "street",
      "value": "Dannebrogsgade 58A"
    }
  ],
  "profileImageUrl": "http://placehold.it/100x100",
  "seats": [
    {
      "hall": "Thy Hallen",
      "stand": "``",
      "section": "B2",
      "row": "4",
      "seat": "3",
      "entrance": [
        "A",
        "B"
      ]
    }
  ],
  "seasonName": "2019"
}
Schema
{
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "uid": {
      "type": "number"
    },
    "number": {
      "type": "string"
    },
    "barcode": {
      "type": "string"
    },
    "cardTypeName": {
      "type": "string"
    },
    "address": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "value": {
            "type": "string",
            "description": "Can be empty string for not required. Should be boolean value for boolean type"
          }
        },
        "required": [
          "field",
          "value"
        ]
      }
    },
    "profileImageUrl": {
      "type": [
        "string",
        "null"
      ]
    },
    "seats": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "hall": {
            "type": "string",
            "description": "Name of hall"
          },
          "stand": {
            "type": "string",
            "description": "Some venues name their stands."
          },
          "section": {
            "type": "string"
          },
          "row": {
            "type": "string"
          },
          "seat": {
            "type": "string"
          },
          "entrance": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The entrances that can be used to enter the venue with this ticket."
          }
        }
      }
    },
    "seasonName": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "uid",
    "number",
    "barcode",
    "cardTypeName",
    "seasonName"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  400
HideShow

1: Either cardNumber or cardUid must be specified 2: toSeason must be specified. 3: The card has already been renewed. 4: The card is already renewed to this season. 5: The card is not part of the history for the this season.

Headers
Content-Type: application/json or application/xml
Response  404
HideShow

10: Unknown season card 11: No product for card type and season

Headers
Content-Type: application/json or application/xml

Generated by aglio on 20 Feb 2024