Classes, interfaces and traits


A class which implements the Spawnable interface can be used to define whether a Model can be created, without having specific properties set, such as a unique identifier.

« More »


Access code model

An access code is used in the entrance check process. Each access code owns a (bar)code, a category id and a state. A Gate is responsible for invalidating, i.e. modifying the entry_state, of such an access code.

« More »


The access code collection holds access code instances.

An instance of this collection can update the entry state of all access codes inside of it with one single API request.

« More »


Class APIResponse

A wrapper class for responses returned by GuzzleHttp. Adds utility functions used by the SDK

« More »


BaseCategory model

Provides the structure for a base category record.

Base categories are categories which can not be booked and are never linked to an order item. Base categories are internally used to create category records. All values which are set for a base category will automatically be applied to the related category records.

« More »


BasePrice model

Provides the structure for a base price record.

A base price is a price which applies it's data to actual price records. A base price is never linked to a category record. It rather links to a BaseCategory. Just like a base category, a base price is never linked to an order item.

« More »


Basket model

Represents a basket model retrieved from the API

« More »


BasketItem model

Model class representing a single item (ticket) of a NextEvent basket

« More »


Cancellation request model

Represents a cancellation request for a given order. Can be used to confirm cancellation in a second step.

« More »


Category model

Struct for a category record assigned to an order/basket item.

« More »


A collection holds instances of models by converting them from raw data.

It has meta information about the total amount of items, pages and references to other pages. Further more it allows to iterate over all total items, by simply fetching the next page if the bounds of the current page have been reached.

If you want to fetch the next page manually, you can call Collection::fetchNextPage(). This will fetch the next page, if it is available and apply the content to this collection.

In order to fetch a specific page and apply it to the collection, you can fetch it with the rest client and then apply it via Collection::setData(). Whether you want to reset the current data or not can be controlled with the flag reset.

« More »


Class DateTime

Extend the default DateTime class with a flag indicating that it only represent a date and the time should be ignored.

« More »


Device model

A device entity represents a real world device. It holds information such as the device UUID, platform(os) and it's version and the device name. A device can also tell on which gate it is logged in and when it has been logged in the last time.

« More »


Discount code model

Struct for a discount code record assigned to an order/basket item or a DiscountGroup relation.

« More »


Discount group model

Struct for a discount group registered in the system.

« More »


Event model

Model class for an event record registered in NextEvent. Provides simplified access to event title, details, start/end dates, etc.

« More »


Gate model

A gate represents an entity which is responsible for invalidating access codes. It can only invalidate those access codes whose category id matches one of the gate's category ids.

« More »


GeoCoordinates model

Struct for a pair of geographic coordinates as defined in the World Geodetic System (WGS 84).

« More »


Class HALResponse

A wrapper class for Responses returned by GuzzleHttp. The Responses are parsed as HAL+JSON and made accessible by this class.

« More »


Location model

Represents a geographic place, like the location of an event.

« More »


Base class for model classes

Data structures retrieved from the NextEvent API are wrapped into dependants of this class in order to provide a well-defined struct for accessing these informations.

With the Serializable interface implemented, all models can easily be serialized and stored in session data.

« More »


A mutable model is a model whose source attributes can be changed.

An instance of a mutable model provides setters for any property. This means you can call e.g. $model->setFoo($val) which will will store the value at the index foo in the internal source array.

You can also override the whole source at once with the MutableModel::setSource().

« More »


Order model

Represents an order record retrieved from the API.

« More »


OrderDocument model

Represents a printable PDF document attached to an order

« More »


OrderItem model

Model class representing a single item of a NextEvent order

« More »


Organization model

Represents an organization entity

« More »


Payment model

Represents a payment authorization record issued by the API. Can be used to process payment and finally settle orders.

« More »


Class PostalAddress

Represents an postal address data structure

« More »


Price model

Model class exposing price properties like title, price, currency

« More »


ScanLog model

A scan log holds entry information of an access code. Those information contain process time, gate which scanned the code and which device has done it. Furthermore it holds connection state information and the validation message. This model can be used to analyze the entrance checks.

« More »


Seat information model

Struct for seat information assigend an order/basket item.

« More »


Ticket model

Model class representing a booked ticket

« More »


TicketDocument model

Represents a printable PDF document attached to a ticket

« More »


Token model

Parse Token issued by the IAMClient and provide some helper functions

« More »


A webhook message comes from the platform the app runs on and contains data, which can be used for various processes.

The instance of this class should be used, to verify content of the incoming message to make your platform more secure. In order to verify the incoming message, you have to know the secret, you configured on the webhook in the NextEvent App.


try {
  $gate = WebhookMessage::current()->verify()->getModel(Gate::class);
  // Do something...
catch (WebhookMessageException $exception) {
   // Handle this
« More »