Ga naar hoofdinhoud

Ticket types

List the available ticket types for a specific sub-event. Each ticket type corresponds to a discount in our system (e.g. Standard, CJP, Student). All max-usage logic is applied server-side — what you see is what a user can actually buy at that moment.

GET /v1/:client_name/tickettypes/:event_id

List available ticket types.

Path parameters

NameTypeDescription
client_namestringYour short client name
event_idstringID of the sub_event (not the main event)

Responses

200 OK — list of available ticket types:

[
{
"discount_id": "2ePdA8q3BN",
"discount_name": "Standard",
"base_price": "24.50",
"discount_type": "€",
"discount_value": "0.00",
"discounted_price": "24.50"
},
{
"discount_id": "bo6dlyJGea",
"discount_name": "CJP",
"base_price": "24.50",
"discount_type": "€",
"discount_value": "1.00",
"discounted_price": "23.50"
},
{
"discount_id": "AYDJK7JlkX",
"discount_name": "City pass",
"base_price": "24.50",
"discount_type": "%",
"discount_value": "25.00",
"discounted_price": "18.38"
}
]

404 Not Found — no such sub-event:

{ "message": "sub_event not found" }

Response fields

FieldTypeDescription
discount_idstringUse this when adding tickets to the cart
discount_namestringHuman-readable label
base_pricestring (decimal)Original price before discount
discount_typestring (fixed amount) · % (percentage) · = (fixed overrule price)
discount_valuestring (decimal)Value applied to base price
discounted_pricestring (decimal)Final price the user pays

Discount types explained

discount_typeMeaningExample
Fixed euro amount offBase €25 − €5 = €20
%Percentage offBase €25 − 25% = €18.75
=Overrule to fixed priceBase €25 → fixed €12.50

What is hidden

The API automatically takes into account:

  • Max per event — a discount disappears from the list when its usage cap is reached for this sub-event.
  • Max per order — if the user has already added the maximum, the discount still appears but will error when added again.
  • Time-based discounts — early-bird etc. are hidden outside their active window.
  • User-tag-based discounts — only appear for authenticated users with matching tags (not visible via public API, since public has no auth).

Using the discount_id

Pass discount_id to POST /cart/:cart_id when adding a seat. Combined with event_id and numberoftickets, this fully determines what the user wants to buy.


See also: Events · Cart