Skip to main content

Attribute mappings

Spektrix events can have custom attributes — labels, categories, tags, or other metadata you've configured in your Spektrix system. Attribute mappings tell Karo how to interpret these attributes so it can use them for filtering, labelling, and responses.

What mappings do

Without mappings, Karo receives raw attribute values from Spektrix but doesn't know what they mean or how to use them. Mappings give those attributes meaning.

For example, you might have a Spektrix attribute called Accessibility with values like Audio Described, BSL, Relaxed Performance. Mapping this attribute tells Karo it represents accessibility information — so when a visitor asks "Are there any relaxed performances?", Karo can filter events accordingly.

How Karo uses mapped attributes

Karo calls mapped attributes taxonomies. A taxonomy is a named classification system with a defined set of values. When the event search tool runs, it can filter by taxonomy — meaning visitors can ask natural-language questions using your actual attribute values.

For example:

  • "Are there any BSL-interpreted shows next month?"
  • "Show me relaxed performances in March"
  • "What audio described events do you have?"

All of these work when your accessibility attribute is correctly mapped.

Setting up attribute mappings

  1. Go to Spektrix settingsAttribute mappings (or the standalone Attribute taxonomies page in the sidebar).

  2. You'll see a list of taxonomy categories. For each one, specify:

    • The Spektrix attribute name (exactly as it appears in Spektrix)
    • A description of what this taxonomy represents (used by Karo to understand intent)
    • The expected values (the possible values this attribute takes)
  3. Save your mappings. They'll be applied on the next sync.

What Karo knows about your programme

When a visitor asks about what's on, Karo draws on a focused picture of each event and performance in your programme. The Spektrix API field names are shown in brackets for anyone familiar with the integration.

At the event level, Karo has access to:

  • The event name (name)
  • The full event description as written in your ticketing system (htmlDescription, with description used as a shorter fallback)
  • The event's image (imageUrl)
  • The date range of upcoming performances (firstInstanceDateTime, lastInstanceDateTime)
  • The event's running time in minutes (duration), used to derive each instance's end time
  • The overall price range across all performances
  • The number of performances available
  • Any taxonomies mapped to the event (attribute_* fields — see Attribute mappings above)

At the instance level, Karo has access to:

  • The start and end date and time of the performance (startUtc, endUtc — note, the endUtc is calculated by using the start time plus the event's running time)
  • Current availability — a status of good, limited, selling fast, last few, or sold out, along with an approximate percentage or tickets remaining (calculated as an aggregate of the available instance's remaining inventory across all price bands)
  • Full pricing detail — every price band offered, with its band name, ticket type (standard, concession, etc.), price, fees and whether it's a concessionary rate
  • The currency
  • Any taxonomies specific to that performance (attribute_* fields)
  • A direct booking link that takes the visitor to the right point in your booking flow

This focus lets Karo answer questions about prices, availability, and timing with confidence — grounded in your live programme data.