CHRONOMANCER
Customer story

Rostering the night shift at a leading NZ haunted attraction

Dozens of performers, multiple attractions, every weekend night of the season — allocated by bidding instead of by whoever answered the group chat first.

BIDS CLOSE IN41:12:0934/41 RESPONDED

A haunted attraction's busiest nights are entirely predictable and entirely unforgiving at the same time. The venue knows months out which weekends it's open; what it doesn't know until close to each one is exactly who from its casual performer pool is free, which named set inside which attraction they'd rather work, and who to call the moment someone drops out on the night itself.

The problem before

The roster wasn't really a roster — it was a group chat. Each week, someone on the ops team would post the weekend's attractions and ask who was in. Performers replied in whatever order they saw the message, favourite sets got claimed within minutes by whoever happened to be looking at their phone, and quieter or less-active performers were often still unplaced by the time the thread had scrolled past them. Working out who was actually confirmed for a given set, on a given night, meant scrolling back through days of messages. And when someone pulled out an hour before doors — which, across dozens of performers and several attractions a night, happened most weekends — the only recovery mechanism was the same group chat, hoping someone free saw the message in time.

There was no record of who'd been reliable across the season and who hadn't, so allocation for the next weekend started from scratch every time, weighted mostly by who shouted loudest in the chat.

What changed

The attraction moved its performer roster onto bid-based rostering, publishing each weekend's work as named sets — specific rooms and scenes inside specific attractions — each with its own fixed capacity, rather than a vague call for "who's in this weekend." Every performer gets a signed link by SMS, unique to them for that period, with no app to install and nothing to log into. They open it, see exactly which sets are on offer across which attractions that weekend, and bid for the ones they want.

When bidding closes, the ops team allocates from one board — bidders sorted by priority and by a reliability score built from their own attendance history — and everyone who bid but wasn't placed first goes into a ranked standby pool behind that set, not into silence. Confirmations go out automatically to both the allocated performers and the standby list, so everyone knows exactly where they stand before the weekend arrives.

On the night, attendance is checked off from a phone at the door, set by set. When a performer doesn't show or has to pull out mid-shift, the vacated seat doesn't go back to a group chat — it triggers dropout recovery automatically, sending a one-time claim link straight to the ranked standby pool for that exact set. First valid claim wins the seat; everyone else immediately sees it's filled, no group-chat pile-up, no double-booking.

How the season runs now

Each weekend now runs the same predictable cycle: publish the sets, let the pool bid by link, allocate against priority and reliability, confirm, and run the night with attendance and dropout recovery live on a phone. The reliability history the platform builds up across a season now feeds directly back into how the next weekend gets allocated — performers who show up consistently rise to the top of the list, without anyone having to remember it manually. What used to be a scramble through a group chat every Thursday is now a published board performers check on their own time, and a standby pool that's already in place before the first no-show of the night even happens.

Named sets
PERFORMERS BID FOR THE EXACT ROOM OR SCENE, NOT JUST THE NIGHT
First claim wins
A VACATED SEAT GOES TO THE RANKED STANDBY POOL AUTOMATICALLY
Zero app installs
ONE SIGNED LINK BY SMS AND EMAIL, NO LOGIN FOR PERFORMERS
Across multiple attractions, every weekend night of the season.