Who can do this
manage_waivers — held by owner and club_admin only. Not the registrar
and not the membership admin, who are the obvious guesses because they are the
people chasing unsigned waivers all season.
The split is deliberate: chasing a signature and rewriting the release everybody already signed are not the same authority. Publishing is a governance act and it is filed alongside policy publishes and club-settings changes in the audit log.
Reading a waiver needs no capability at all. A family has to be able to read the thing before signing it.
Versions, and the flag that matters
A waiver is published as a version. A signature is against a specific version, forever — what somebody signed in March stays exactly as it was in March.
When you publish a new version you decide whether it is a material change:
- Not material — a typo, a clearer sentence. Existing signatures stand.
- Material — the substance changed. Every existing signature in the club is invalidated and every family goes yellow until they re-sign.
Do this before a season, not during one. It is correct behaviour and it is very loud.
Where it lives
Club setup → Waivers & forms (/setup/waivers). The list shows, for each
waiver, what an unsigned copy blocks, which version is live, and whether a new
draft is waiting. A new club starts with a draft liability waiver and a
draft guest waiver; nobody is asked to sign either until you publish it.
The /waivers screen is something else: the signer a family (or the desk) uses
to see what is outstanding and sign it.
Changing a waiver
- Open the waiver and choose Draft a new version. The draft starts as a copy of the live text. Only club administrators can see a draft.
- Edit the text, pick the date it takes effect (today or earlier), and decide whether it is a material change. Save draft as often as you like.
- Publish. The text is frozen from that moment — even SwimWin cannot edit it — and the version it replaces is retired from the effective date.
You can abandon a draft at any time. A published version can never be edited or deleted: a change is always another version.
The rules on a waiver
Under Rules you set who signs (once per household, per person, per child…), how often (once, every season, every year, every visit), and what an unsigned copy blocks — pool entry, practice, meet entry, lesson booking. A waiver that blocks nothing is asked for but never enforced. Turning In use off retires it; signatures are kept and nothing is ever deleted.
Who has signed
Each waiver lists its published versions with a signature count, and a Who has signed table you can narrow to one version. Voided signatures stay in the list, struck through, with the reason.
Voiding a signature
Signed by the wrong parent, or for the wrong child? Press Void on the row
and say why. The signature is not deleted — it stays on file, struck through,
with your reason — and the person needs to sign again before the waiver counts,
so the gate will ask for it. Voiding is recorded in the audit trail and cannot
be undone. It needs manage_waivers; the front desk can take signatures but
not withdraw them.
Still to come
- Required documents beyond waivers — the model reserves "document missing" and "document expired" as gate reasons; the upload surface is Phase 2
Related
- Signing waivers — the family's side
- Every gate reason, explained