Sending company and competition contracts without losing the thread
May 23, 2026 · 6 min read · by James, half-owner of a dance studio
Audition results come out on a Sunday. By Wednesday, the studio inbox looks like a Civil War battlefield.
There's a thread from Mia's mom asking what Petite Company costs. There's a half-signed PDF from the Jones family that didn't render right in Outlook. There's a Google Doc with comments that the front desk forgot to resolve. There's a "did Sophia accept the duet or just the trio?" question that nobody can answer because the offer letter went out as a Word doc with a checkbox someone forgot to tick. And there's the one studio owner is dreading: a family that misunderstood which tier they were offered and is now upset.
Every competitive studio I've ever spoken to runs this same gauntlet, and almost all of them run it in email, Word, Google Docs, and the back of someone's notebook. The first year you're small enough that it works. By the third year you're losing offers in your own inbox.
Why this is structurally hard
The thing that makes auditions different from regular enrollment is that the offer is per student and the answer is per class. A family with three auditioning kids doesn't get one "Welcome to the team" email — they get three offers, and each one has its own slate of possible answers.
Ballet Company tends to be pick one. Sophia is offered Junior Company. That's the offer. She either signs or she doesn't.
Competition tends to be pick any. Maya is offered a solo, a duet, a trio, three groups, and a small group. She might accept the solo and three groups, decline the duet, and her parent might write in the margin "she can do the trio if it doesn't rehearse Thursdays."
And on top of that, both of these are contracts. The family is committing to a financial obligation — usually a deposit, sometimes an entire season's worth of tuition. They have to sign something. The signature has to be legible and recorded and recoverable.
Email + Word + Google Docs gets you all three of those wrong:
- The "per student" part shows up as a forwarding mess. Mom and Dad both have copies. Mom is editing one, Dad is editing the other, the front desk gets both back, and now there are two versions of the same signed PDF that disagree on which classes were accepted.
- The "per class" part is what gets you. A static form can't show "you may pick any combination of these six classes" cleanly. So you write a sentence like "Please check the boxes for the classes Maya will accept" and then chase down the families who forgot to check anything.
- The signature is the slowest part. The family has to find a printer, sign, scan, attach, hit send. A staggering number of families get stuck right there, especially the ones with younger kids who don't own a scanner anymore. Three weeks later you're still chasing down an offer letter that should have come back in two days.
What it should look like instead
The mental model I want is roughly: a contract is a per-student offer letter that the family signs from their phone in two minutes.
On the studio side, you build a contract once. You write the legal text — financial commitment, attendance expectations, the rest. You attach a slate of offered classes. You pick "they choose one" (Ballet Company tiers) or "they choose any combination" (Competition). And you save it.
Then you send it. Not by emailing a PDF. By picking the students from a list — only the students you've decided to offer it to — and clicking send. The system fires one email per student, addressed to that family, with that student's name in the subject line and the relevant classes in the body. A family with three auditioning kids gets three emails, one per kid. Each email has its own link, its own offer, its own state.
The family opens the email on their phone. They see the offered classes. They check the ones they're accepting. They type their name in the signature box. They hit Submit. They're done.
On the studio side, you watch a status page fill in: 18 sent, 12 accepted, 3 declined, 3 still pending. You can see which students said yes to which specific classes. The accepted classes auto-flow into your enrollment system as pre-approved offers, so the family doesn't have to do a second "now enroll for real" step.
The whole thing collapses into one tool. The Word docs, the PDFs, the chasing — all gone.
What changes about the work
The obvious win is speed. Families respond faster when they don't have to print, sign, scan. We've watched our own response time on contracts go from "two weeks to chase down 80% of families" to "48 hours for the same."
The less-obvious win is the fidelity of the answer. When a family used to scribble on a PDF, you'd get back a half-signed copy with three boxes checked and a margin note saying "we'd love the duet but only if it's not Thursday." That's an unanswerable response — the family has to be re-contacted, re-asked, the offer has to be re-issued. With a structured form, the family either picks classes or doesn't. There's no margin to scribble in. The answer is unambiguous.
That sounds like it'd be a downside — "what if the family wants to ask a question?" — and the answer is they email you, like they always did. But the offer answer itself stops being where the questions hide. The questions move out of the contract and into a separate conversation, which is the right place for them.
What we got wrong on the first pass
The first version of contract sending we built sent one email per family, not per student. We thought consolidating would be cleaner. It wasn't. Families with two auditioning kids would respond to the email and tell us about kid one, then forget about kid two for a week. Splitting the offers — one email per student, even when it meant sending the same parent three emails on the same day — fixed it. The visual count of "three things to do" in your inbox is a better forcing function than a single email asking you to make three decisions.
The second thing we got wrong was making the family pre-pay the deposit at the same moment they signed. It seemed efficient. In practice, the friction killed the response rate. Families would open the signing page, see they needed a credit card, and bail. We split it: sign first, get a confirmation, get a separate invoice for the deposit. The signing rate jumped immediately and the deposits still came in, just a few days later.
Third: we didn't include an "expires in" date on the first version. Some families sat on the offer for weeks. Now there's a "respond by" date on the contract that shows up in the email subject and at the top of the signing page, and the studio gets a notification when an offer is past its date with no answer. Soft deadline, not a hard cutoff — the offer doesn't auto-expire — but parents see it and it shapes behavior.
If you're shopping for software, look for this
Most studio software still treats this like a waiver. It isn't a waiver. A waiver is a one-shot legal click-through. A contract is a per-student decision with a class-level menu and a real financial commitment. The signals to look for:
- Per-student delivery. Can you send the same contract to three students in the same family and get three independent responses? If the software treats the family as the unit, you'll be chasing down "wait, which kid said yes?" forever.
- Choose-any or choose-one. Does the contract form let the family pick a subset of offered classes, not just "accept or decline the whole thing"? Competition Team is choose-any. Ballet Company tiers are choose-one. Either model has to be supported.
- Auto-flow into enrollment. When the family says yes to four classes, does the system create the corresponding enrollments (or pre-approvals)? Or do you have to manually re-enter what they accepted? Re-entry is where errors live.
- Audit trail. If a family later says "we didn't accept that class," can you show them the signed record — with IP address, timestamp, and their typed signature? You're going to need this eventually.
- Status visibility. Can the front desk see at a glance who's responded and who hasn't? Or is the answer buried in an inbox somewhere?
We built contracts in Presently this past month because we needed it for our own audition season. It's the kind of feature that doesn't show up on a marketing comparison chart, because nobody thinks to ask about it until they've personally lost a Tuesday afternoon trying to figure out whether Sophia is doing Petite or Junior. But once you've lost that Tuesday, you start treating "how does this thing handle company contracts" as a question you'd really like a software product to answer.
If you're an owner with auditioning kids on the way — for ballet, competition, or any kind of invite-only roster — and you're staring at a Google Doc thinking there has to be a better way: yes. There is.