Price Types
Per-account configuration of the ticket price-type list
A price type is the target-audience or condition category shown for a ticket
price — the "Omschrijving" dropdown in the event editor and the description.value
field on a PriceElement.
Price types are configured per account. Each account owns an ordered list that
the editor's dropdown is built from. This lets an organisation rename, reorder, hide,
and add its own types — for example relabelling the generic Pasholders type as
"Rotterdam City Card" or "Ditispasarnhem".
Shape
Each entry on account.priceTypes:
| Field | Type | Description |
|---|---|---|
value | string | Stable slug stored on price elements (description.value). Generated once from the label; never changes on relabel, so existing events keep resolving. |
labels | object | Display label per language code, e.g. { "nl": "Rotterdam City Card", "en": "Rotterdam City Card" }. |
order | number | Position in the dropdown. |
active | boolean | When false, hidden from the dropdown for new tickets; existing tickets using it still resolve. |
{
"priceTypes": [
{ "value": "Adults", "labels": { "nl": "Volwassenen" }, "order": 0, "active": true },
{ "value": "Pasholders", "labels": { "nl": "Rotterdam City Card" }, "order": 4, "active": true }
]
}Defaults and fallback
When an account has no priceTypes configured, the standard defaults apply —
Adults, Children, Groups, CJP, Pasholders, Lastminute (see
PriceElement). These defaults are also the fallback
for resolving the label of any stored value that is not in the account's list (e.g.
legacy data or a deactivated type), so older events stay readable.
Relationship to the price element
The chosen type's value is stored on the price element. On save, the editor also
bakes the type's per-language labels into the element's descriptionTranslations,
so a price element remains self-describing even when copied to a context that does not
know the account's configuration.
Editing
Account admins manage the list under Account → Price Types in the console. The list
is persisted on the account via the standard account update endpoint; values must be
non-empty and unique within an account.