Skip to content

Tickets

Tickets in our system have two ways of delivery:

  • PDF & pkpass, where tickets are delivered as attachments in the order confirmation email
  • SECURE, where tickets are delivered through our wallet app. SECURE tickets can also be resold through our secondary market.

Fetching tickets

To fetch tickets from all tenants use GET v1/ticket with your JWT. In the response will be all tickets owned by the user. To filter the response, the following fields are available:

  • format PDF or SECURE, returns only tickets in that format
  • with_enrollment_id, a boolean, determines if the response object should include the owner's enrollment ID
  • sort_by determines the column on which to order the result
  • direction is asc or desc
  • with is a RelationExpression which specifies the ticket sub-objects to include. This has the dot format, ie. [ticket_holder,ticket_config.event]

Manually issuing tickets to users

Users can own tickets through the process of buying tickets, but organizers can also manually issue tickets to users.

The process has two stages: reservation and issuance. If you reserve the tickets but decide not to issue them, you can free them.

  1. To reserve tickets for a user use the POST /ticket/reserve endpoint. The reserved tickets are in the response.

    The following fields should be in the body:

    • event_id - ID of the event
    • owner_id - enrollment of the user for which the tickets should be reserved
    • format - Format of the tickets (PDF or SECURE)
    • ticket_reservation_items - the array of objects with the following properties:
      • ticket_config_id - id of the ticket config,
      • quantity - number of tickets for that ticket config,
      • timeslot_id - the id of the timeslot that should be applied for the ticket,
      • sector_id - the id of the sector that should be applied to the ticket

    Note: After invoking this endpoint tickets are in the reserved state.

  2. After reserving tickets it is possible to free them with POST /ticket/free endpoint. This makes the tickets available again so they can be reserved for some other user, or bought later.

  3. After reserving tickets, for issuing them use the POST /ticket/issue endpoint. This updates them on the blockchain and after that puts them in the issued state.

Ticket flow

Ticket status flow

Back to top