[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: - 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
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`.