Event Connectors

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

FieldTypeDescription
freeentrancebooleanWhether entry is free for this audience
priceValueobjectPrice range with from and till (both numbers)
descriptionobjectTarget audience (see below)
commentsarrayAdditional comments per language
extraPriceInformationsarrayExtra 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):

ValueAudience
AdultsGeneral adult admission
ChildrenChild admission
GroupsGroup rates
CJPCJP pass holders (Dutch cultural youth pass)
PasholdersMuseum card / local city-card holders
LastminuteLast-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

  • TRCItempriceElements array (Events only)

See the API Reference for the full PriceElement schema.

On this page