Build JSON snippets for new specific events, tours, and repertoire shows.
Search existing performers and venues as you go — if one doesn't exist yet,
just type its name and use "+ details" to add it on the fly.
Loading existing performers and venues…
Batch (not yet exported)
Nothing added yet — fill in a form below and click "Add to batch".
Specific / Music Event
The "name" field is built automatically as "Showname [Performer]" unless you override it below.
e.g. 15/10/2025 or 15/10/2025, 16/10/2025
Leave blank for a standalone show with no club night.
Structured pricing is optional and additive — the plain text price above is still what gets saved as `price`; this just also fills in `price_breakdown` alongside it. See events-schema-costings.md for the rationale.
Tour
touring_event_flyer — one flyer representing the whole tour, not repeated per date.
Tour dates
Repertoire Show
Show dates
New Performer
Adds straight to the batch as a standalone performer record — no event/tour/show needed.
Members aren't set here — they're added via the "Combined/troupe billing name" option on the Performer field when you build a tour/show/event featuring this group.
New Venue
Adds straight to the batch as a standalone venue record — no event/tour/show needed.
Enrich existing data
Load your current events_normalized.json to run some assistive checks over it.
Nothing here edits that file automatically — each tool below produces a patch or a report for
you to review and merge in by hand.
No file loaded yet.
Enabled once you've applied at least one accepted suggestion below. Downloads the entire loaded
file with only those accepted additions folded in — everything else is untouched.
💷 Price breakdown suggestions
Parses each free-text price/cost string it can confidently make sense of into a candidate
price_breakdown (see events-schema-costings.md), marked draft: true
so you can review and correct it later. Complex, prose-like pricing (festival weekend deals,
deposits, etc.) is deliberately left alone rather than force-fit.
📮 Missing postcodes
Scans venues that have a full address but no postcode, and tries to extract one from the address text.
🔁 Possible duplicate venues
Flags venue pairs with similar names, a matching postcode, or coordinates within about
150m of each other. This is a report only — merging two venue records (and repointing
every event/tour date that references the one you drop) needs to be done by hand.
Generated JSON
Copy the relevant section(s) into events_normalized.json: merge
newPerformers into performers, newVenues into
venues, then merge each record into its matching top-level array/object
(specificEvents, musicEvents, tours, repertoire_shows).