- Members
- Roster, roles, portal logins, emergency contacts, guardians for minors.
- Registration
- A public multi-step join form, an office approval queue, and payment online or at the desk.
- Terms & rates
- A price list per venue — prepaid, recurring, punch card, drop-in — with one current term enforced by the schema.
- Waivers
- Editable documents with clauses that appear on a birthdate given two fields earlier. Signed in the app, on the website, or from a public link with no login. Guardian rules, signed PDFs, verification codes.
- Check-in
- A rotating QR in the app scanned at the desk, or a printed code by the door scanned by the member. Raises a lapsed certificate or an unsigned waiver — and refuses nobody.
- Door access
- Fobs and cards, with groups derived from membership, role and clearance, pushed to Kisi or Brivo. The door log is pulled back.
- Bookings
- Enquiries may overlap, because two people may ask about the same Saturday. Confirmed bookings may not — a Postgres exclusion constraint sees to it.
- Money
- Invoices, payments, a whole term or season billed in one pass, and the treasurer's summary.
- Payments
- Stripe Connect direct charges with a platform commission, plus cash, cheque, e-transfer and card taken at the desk.
- Communications
- Email and push broadcasts segmented by programme, team, role or entrant. A member-to-desk message thread.
- Duties & shifts
- The rota, whatever it is called locally — bar shifts, desk shifts, ice crew, belay rota, draw masters.
- Content
- News, calendar, photo galleries, documents, sponsors, awards.
- Public feeds
- JSON for the website, plus an iCal feed members can subscribe to.
- Multi-tenancy
- Many venues in one database, isolated by row-level security. Platform logins are a separate table from venue logins, on purpose.
- Platform console
- Onboard a venue, set its commission, see revenue by month and by venue, read the access log.