Club profile
Beeooking Demo ClubTimezone, brand, status, and tenant slug are ready.
Give every club the operational foundation to manage users, memberships, bookings, payments, communications, and club-specific rules.
Switch roles and move through the operating views Beeooking needs before real database, auth, payment, and booking logic are connected.
Create the club, choose resources, set email domain, assign first Club Admin, and publish core rules.
Timezone, brand, status, and tenant slug are ready.
Squash, tennis, swimming, fitness, and health/recovery are selected.
4 squash courts, 3 tennis courts, 6 lanes, 2 studios, and 3 recovery rooms.
Staff-side roles must use the organization email domain.
Only Super Admin can grant this access.
Booking windows, membership access, waiver gate, and pricing rules are ready for review.
Operational pulse for memberships, waivers, booking activity, revenue, and coach payouts.
Families, dependents, active/non-active status, waiver coverage, and payment readiness live together.
Pending admin review
Approved and locked
Draft setup
Club Admin reviews selected family structure, active/non-active pricing, opt-in payment, and post-approval lock state.
| Letourneau Family | Family Monthly | Adult non-active, children active | Approve after waiver |
|---|---|---|---|
| Rivera Member | Monthly Adult | Payment required for opt-in | Await payment |
| Chen Family | Family Annual + Rackets | Approved and locked | No self-service changes |
| Opt-out request | Monthly Adult | Cancel request requires admin contact | Review |
Missing waivers block bookings, registrations, waitlists, check-ins, and walk-ins until covered.
| Letourneau Family | Family waiver missing | 3 covered members needed | Blocked |
|---|---|---|---|
| Rivera Member | Individual waiver missing | 1 member needed | Blocked |
| Chen Family | Family waiver complete | v1 signed by Grace Chen | Clear |
| Coach walk-in | Waiver check required | Cannot add participant until covered | Guarded |
Selected sports become bookable inventory with adjusted units and access rules.
| Squash | Court | 4 | Rackets members: 2 peak bookings max |
|---|---|---|---|
| Tennis | Court | 3 | Member/non-member rates apply |
| Swimming | Lane | 6 | Lane booking enabled |
| Fitness | Studio | 2 | Class Member access included |
| Health/Recovery | Room | 3 | Health Member recovery included |
Prototype booking outcomes show the rule engine before the real booking engine is wired.
| Parent books child squash court | Blocked | Family waiver missing before booking. | undefined |
|---|---|---|---|
| Rackets member books 3rd peak court | Blocked | Peak booking limit is 2 active peak bookings. | undefined |
| Rackets member books off-peak court | Allowed | Off-peak booking allowed when resource is available. | undefined |
| Class Member books class | Included | Class access is included without per-class payment. | undefined |
| Non Member books tennis court | Payment required | Visible to non-members, charged at non-member rate. | undefined |
Use the role switcher to highlight the access model for each user type.
| Super Admin | Can grant Club Admin, edit pricing/payment structure, complete setup, and access all areas. |
|---|---|
| Club Admin | Can manage members, staff, coaches, payroll visibility, timetables, event bookings, and overrides; cannot edit core pricing. |
| Staff | Can book for customers, send invoices, manage customer memberships, and apply credits within limits. |
| Coach | Can view member accounts without editing, manage own availability/registers/walk-ins, and see own payments only. |
| Parent | Can manage children, sign family waiver, see child payments, and use personal non-member account. |
| Member | Can see bookable spaces, pay member rates, and use access allowed by membership/add-ons. |
Layer 0 now defines the architecture, permissions, booking rules, pricing behavior, waiver enforcement, database guardrails, API contracts, engineering contract, and seed data.
| Permission actions | Locked | Named action keys define pricing control, Club Admin grants, credits, booking for others, payroll visibility, profile access, timetables, registers, and coach profile management. |
|---|---|---|
| Booking rules | Locked | Peak/off-peak windows, role booking horizons, racket peak limits, resource conflicts, coach conflicts, cancellation rules, and waitlists are defined. |
| Pricing logic | Locked | Membership pricing uses access level, active/non-active status, add-ons, rate modifiers, admin review, and self-service monthly opt-in. |
| Waiver enforcement | Locked | One family waiver can cover all listed members, and incomplete waivers block bookings, registrations, waitlists, check-ins, and walk-ins. |
| Database guardrails | Ready | Schema includes club scoping, booking time checks, role indexes, waiver indexes, credit adjustments, and audit logs. |
| API contracts | Ready | Setup, invites, roles, families, dependents, waivers, memberships, booking, and credit routes are specified. |
| Engineering contract | Ready | Layer 0 now includes decision orders, API payload examples, error codes, RLS expectations, audit events, and acceptance tests. |
| Seed data | Ready | Demo club includes sports, resources, users, roles, family, waiver, and membership plan examples. |
| Activity menu | Complete | Squash, tennis, pickleball, and fitness selected. |
|---|---|---|
| Organization domain | Complete | staff@beeooking-demo.com enforced for staff-side roles. |
| Family waiver | Needs review | Approve family-scoped waiver responsibility statement. |
| Membership review | In progress | 7 family memberships pending active/non-active approval. |
| High | Approve Letourneau Family membership type | Family Monthly |
|---|---|---|
| High | Collect missing family waiver | Letourneau Family |
| Medium | Review monthly opt-out request | Admin contact required |
| Medium | Validate coach invite email domain | coach@beeooking-demo.com |
| Squash | 6 courts | Ready |
|---|---|---|
| Tennis | 4 courts | Ready |
| Pickleball | 8 courts | Needs hours |
| Fitness | 2 studios | Ready |
| Alex Morgan | Club Admin | alex@beeooking-demo.com |
|---|---|---|
| Priya Singh | Coach | priya@beeooking-demo.com |
| Jordan Lee | Staff | jordan.personal@gmail.com |
Start with the Members & Families surface: setup, participant status, admin review, waivers, and monthly membership rules.
Main adult creates the account, enters DOB, contact details, and emergency contact.
Adult adds spouse or dependent profiles after initial login. DOB is required for every person.
Family chooses who is active or non-active and submits the membership for admin review.
One adult signs the waiver for the family when the waiver states responsibility for all listed members.
Family Monthly
Family Annual
Monthly Adult
| Letourneau Family | Review active children with non-active adult | Approve membership type |
|---|---|---|
| Rivera Member | Payment required before monthly opt-in | Await payment |
| Monthly opt-out request | Member must contact admin to cancel | Admin review |
Members can start monthly membership by paying. Canceling or opting out routes through the club admin.
The Layer 1 MVP is the club operations backbone every sport-specific module depends on.
First choose activities from a scrollable menu, then set how many resources each selected activity needs.
| Tennis | courts | |
|---|---|---|
| Squash | courts | |
| Pickleball | courts | |
| Fitness | studios |
| Activity menu | Scroll and select | Super Admin chooses relevant activities from a dropdown-style menu of all supported sports and facility uses. |
|---|---|---|
| Racket sports | Courts or tables | Tennis, squash, padel, pickleball, table tennis, and badminton. |
| Aquatics | Lanes | Swimming can be enabled when clubs need lane-based booking. |
| Studios and rooms | Studios or rooms | Fitness studios and multi-purpose rooms can be enabled for class or room booking. |
| Ice sports | Rinks | Rinks can be enabled when a club needs ice or rink-based booking. |
| Resource counts | Required after selection | After activities are selected, Super Admin enters how many courts, lanes, studios, rinks, tables, or rooms are available. |
Super Admin chooses the club email domain, then staff-side roles must use that organization email.
| Domain selection | Super Admin | Super Admin chooses the approved organization email domain during club setup. |
|---|---|---|
| Required roles | Org email required | Super Admin, Club Admin, Staff, and Coach accounts must use an email from the approved organization domain. |
| Member roles | Personal email allowed | Parents and members can use personal emails unless a club chooses stricter rules. |
| Invite validation | Block mismatch | Invites for Super Admin, Club Admin, Coach, and Staff roles are blocked when the email domain does not match the selected organization domain. |
Layer 1 must block operational activity until required waivers are complete. A single family waiver can cover all listed members when the waiver text states that responsibility.
Every operational record is scoped by club, with shared users gaining club-specific roles and permissions.
Access starts with the active club context, then role, then object ownership.
Super Admin owns pricing, access grants, and staff onboarding; club roles operate within those boundaries.
| Super Admin | Full access | Can access all areas, contacts, profiles, pricing, timings, accounts, edits, and access rights. Only Super Admin can grant Club Admin access and controls staff/coach onboarding. |
|---|---|---|
| Club Admin | Club operations | Can manage staff, coaches, members, timetables, payroll visibility, staff/coach payments, bookings under other names, and member edits. Cannot edit payment structure or core pricing. |
| Staff | Front desk | Can make bookings for members/non-members, book coaching, edit member accounts, book up to 12 months ahead, review invoices, manage customer memberships/payments, and apply credits within Club Admin limits. |
| Coach | Coach scoped | Can see only their own lesson/clinic payments, book lessons/clinics/courts under their name, view member accounts without editing, manage registers, add walk-ins with payment, edit availability, and manage public profile. |
| Parent | Guardian access | Not a member by default. Can act on behalf of children, receive child notifications, see child payment information, or use their own non-member account. |
| Member | Member access | Can see all bookable areas and pay member rates. Base membership includes gym barrier access, while courts, classes, and health suite access can still require paid booking or add-ons. |
The immediate work is an admin shell for profiles, roles, families, waivers, and emergency contacts.
| Tenant model | Ready to specify | Every operational record needs club_id, and every request resolves active club context. |
|---|---|---|
| Roles | Ready to specify | Super Admin, Club Admin, Staff, Coach, Parent, and Member need explicit access boundaries. |
| Members & families | Grouped workflow | Adults are created first, then dependents are added inside the same member/family area after initial login. |
| Waivers | Required access gate | Required waivers must be completed before booking, program registration, or participation. |
| Emergency contacts | Ready to specify | Contacts attach to a user inside a club and need controlled coach/admin visibility. |
Date of birth is required for every member profile so family, waiver, and age-based rules can be enforced.
| Main member | DOB required | Every primary adult member must enter date of birth during profile setup. |
|---|---|---|
| Spousal member | DOB required | The optional spousal member must enter date of birth for eligibility and club rules. |
| Dependent | DOB required | Dependent profiles need date of birth to verify under-18 family membership eligibility and age-restricted groups. |
Family memberships have one primary adult, at most one spousal member, and under-18 dependents only.
| Main member | Required | The primary adult or account holder for the family membership. |
|---|---|---|
| Spousal member | Optional, max 1 | One spouse/partner may be attached as the second adult member. |
| Other members | Under 18 only | Any additional family members must be dependents under 18 years of age. |
People choose active or non-active status during setup; after admin approval, changes go through the club.
| Setup | Member selects | The member or parent chooses which people are active or non-active before submitting the membership. |
|---|---|---|
| Admin review | Club approves | Club admin reviews the selected participants, pricing impact, and final membership type before approval. |
| Monthly opt-in | Self-service payment | Members can start a monthly membership on their own when they complete payment. |
| Monthly opt-out | Contact admin | Members must contact the club admin to opt out of or cancel monthly membership. |
| After approval | Admin change only | A family can include a non-active adult and active child, but changes after approval require contacting the club admin. |
Base membership and add-ons control rates, included access, and restrictions across classes, rackets, health, and non-member booking.
| Base Member | Member rate | Sees all bookable areas. Pays member rate, planned around 20% off. Gym access is included; courts, classes, and health suite can still require paid booking or access add-ons. |
|---|---|---|
| Class Member | Classes included | Add-on to membership. Includes all-access classes without per-class payment. Racket bookings remain visible and paid at member rates. |
| Rackets Member | Court access rules | Add-on to membership. Court access included with configurable restrictions, including 2 max peak-time bookings and unlimited off-peak bookings by club rules. |
| Health Member | Health pricing/access | Add-on to membership. Recovery suite access included and massage pricing is more heavily reduced, with prices controlled by admin. |
| Parent | Child-linked | Can manage and pay for child activity but is not automatically a member. Can switch to their own non-member account for personal bookings. |
| Non Member | Non-member rate | Can see all bookable spaces and book/pay at non-member rates. Essentially can see, but must pay. |
Keep the first release focused on reliable operations before player development, competition, AI, or ecosystem features.
Define tenancy, core objects, permissions, and seed data.
Authentication, roles, family accounts, profiles, waivers, and emergency contacts.
Plans, privileges, billing, Stripe mapping, and renewal states.
Courts, coaches, clinics, availability, conflict prevention, and waitlists.
Camps, clinics, courses, sessions, registrations, and attendance.
Announcements, targeted messaging, notifications, and delivery tracking.
Member management, operating reports, utilization, and revenue visibility.