What is the Ticket Engine?
The Ticket Engine provides a way to programmatically register events and ticket interactions within OPN Ticketing Ecosystem with ease and is the primary interface for writing changes to the blockchain NFT state.
Writing data to the blockchain directly can be challenging due to some lack of guarantees, as well as knowledge of lower-layer implementation detail. Ticket Engine abstracts away the complexity of managing blockchain transactions yourself and provides cleaner, more convenient interfaces for using your event and ticket data.
Through experience we've learned that minting NFTs onto any blockchain represents a serious challenge and software expertise orthogonal to building successful ticketing software. By offering a simple HTTP API to creating NFT tickets on-chain it becomes easy to plug-in to your existing ticketing platforms.
Use the Ticket Engine to:
- Register your events on the blockchain.
- Define metadata for your events (start time, location, images...)
- Update your events.
- Register sold, resold, scanned, checked-in, and invalidated ticket interactions.
- Claim a ticket to a users' wallet.
- Define callback URLs to receive processing updates.
- Fetch information from a specific action.
A Digital Twin
The Ticket Engine API is designed to complement and add to your existing infrastructure rather than replacing it, so the tickets produced through this API integration are often referred to as a digital twin of your primary ticket instance.
This provides a mechanism to issue blockchain-based NFT tickets without impacting your primary ticketing infrastructure or migrating any source of truth unless desired. Twinning your ticket inventory with a blockchain native copy allows you to explore the benefits of blockchain ticketing and expose these features to your users without adding additional operational-risk to your live system.
What information do we store?
To not impose too strict of a model definition on the consumer, we only keep the necessary information needed on the blockchain itself. This allows for all base operations and interactions without inflating the blockchain state. Writing data to any blockchain operation is expensive so we attempt to minimise this for this reason also.
The three main entities exposed via the Ticket Engine API are Events, Tickets , and Metadata, all of which can be written from the stream endpoint.
![6dd84be-getNFT_Ticket_Engine.jpg 1599](https://files.readme.io/886da25-6dd84be-getNFT_Ticket_Engine.jpg)
Ticket Engine - Simple ERD
Events
Events are the entity which contains metadata on the virtual or real-world occasion, and is granted right of entry through the usage of a ticket and is not to be confused with a programmatic or blockchain event. Events have many tickets.
Tickets
Tickets define a right of access to an event. Association to this event is maintained by the eventId
property on the ticket and this must be passed upon creation of a ticket.
Metadata
Unlike the above models that are defined by their domain model (in relation to the events industry), metadata can be optionally attached to a ticket. This can include metadata about the event itself but is more commonly used to define the primary NFT content & media.
Writes are handled asynchronously and an optional callbackUrl
can be submitted with creation of an Event so that the transaction hash and success status can be returned to you.
Blockchain transactions are a large topic and the Ticket Engine API handles the implementation detail of this, but more information is available: