PriceElement
Price ranges and descriptions for target audiences
Validate PriceElement objects at runtime with PriceElementSchema from @eventconnectors/ndtrc_model.
The PriceElement object describes pricing for a TRCItem, typically an Event. Each element targets a specific audience (Adults, Children, Groups, etc.) and can express a price range or free entry.
Example
{
"priceElements": [
{
"freeentrance": false,
"description": {
"value": "Adults",
"descriptionTranslations": [
{ "lang": "nl", "text": "Volwassenen" },
{ "lang": "en", "text": "Adults" }
]
},
"priceValue": {
"from": 15.0,
"till": 15.0
}
},
{
"freeentrance": false,
"description": {
"value": "Children",
"descriptionTranslations": [
{ "lang": "nl", "text": "Kinderen" }
]
},
"priceValue": {
"from": 7.5,
"till": 12.5
}
},
{
"freeentrance": true,
"description": {
"value": "CJP"
}
}
]
}Fields
| Field | Type | Description |
|---|---|---|
freeentrance | boolean | Whether entry is free for this audience |
priceValue | object | Price range with from and till (both numbers) |
description | object | Target audience (see below) |
comments | array | Additional comments per language |
extraPriceInformations | array | Extra pricing notes ({ lang, text }) |
Description / PriceDescriptionValue
The description.value field is a free-form string identifying the price type
(target audience or condition). Price types are configured per Account,
so accounts can rename, reorder, hide, and add their own types. value is a stable
slug stored on the price element; it is no longer a closed enum.
When an account has no price types configured, these standard defaults apply (they are also the fallback for resolving the label of any stored value not in the account's list):
| Value | Audience |
|---|---|
Adults | General adult admission |
Children | Child admission |
Groups | Group rates |
CJP | CJP pass holders (Dutch cultural youth pass) |
Pasholders | Museum card / local city-card holders |
Lastminute | Last-minute pricing |
value used to be a closed enum (PriceDescriptionValue). It is now an open string so
that accounts can define their own price types — e.g. an account may relabel Pasholders
as "Rotterdam City Card". Treat the value set as open; do not validate against a fixed list.
Each description carries descriptionTranslations with the type's label per language.
The editor bakes the selected price type's labels into descriptionTranslations on save,
so a price element stays self-describing even when its value is account-specific.
Used In
- TRCItem →
priceElementsarray (Events only)
See the API Reference for the full PriceElement schema.