Skip to main content

[Admin] Family & Household plans

Family plans let one paying principal cover multiple household members under a single Stripe subscription. Common for yoga studios, gyms, and community clubs.

Enabling a family plan:

  • Clubs: Admin → Tiers → Edit tier → tick "Family plan"
  • Studio: Admin → Packages → Edit plan → tick "Family plan"

Configurable limits (defaults in parentheses):

  • `maxPrincipalMembers` (2) — adults on the plan, including the paying principal
  • `maxDependentMembers` (2) — children under the age limit
  • `dependentAgeLimit` (18) — auto-categorises members at signup

How it works:

  • The principal pays a single Stripe subscription at the tier price.
  • Family members are added from the principal's member dashboard — one at a time, with name + email (for principals) + date of birth.
  • The system auto-categorises:
    • Age < `dependentAgeLimit` → dependent
    • Age ≥ limit → principal
  • Limits are enforced server-side — you can't exceed `maxPrincipalMembers` + `maxDependentMembers`.

Family member types (Clubs):

  • Principal (adult) — full access + their own login + their own QR check-in code
  • Dependent (under age limit) — linked to principal, checks in under principal's QR or their own sub-code, no separate login

Studio: the member adds family members (name, relationship, date of birth) from My Membership, then books each of them from the "Booking for" choice when booking a class. Family members don't get their own login or check-in code in Studio.

Billing:

  • One subscription on the principal's account
  • Adding/removing family members doesn't prorate — limits are per-plan, not per-member-month
  • If the principal cancels, all linked family members lose access on the same effective date

Health & safety:

  • Dependents' waivers are signed by the principal on their behalf (tracked in the audit log)
  • Check-in scanner distinguishes principal vs dependent in the UI

Audit trail:

`family_member_added` / `family_member_removed` entries in `membership-package-history`.

Still have questions?