Player Onboarding
Goal
Player has a complete profile, understands how to find and book a class, and has made their first booking.
Steps
1. Create account
- Navigate to allsquads.com.au
- Select Sign Up
- Sign up with email and password, or continue with Google (Google OAuth)
- Verify email address via the confirmation link (email/password sign-up only)
- Select Player during the account type selection step (the registration guidance screen helps users choose between Player, Coach, and Business)
2. Complete profile (player onboarding wizard)
- Add full name, profile photo (optional), location
- Select sport preferences, skill level, and playing goals (chips: improve technique, stay active, compete socially, meet new people, etc.)
- Add emergency contact details
- The wizard persists these fields to the user profile and is used by the recommendations engine and the AI agent
3. Add child profiles (if applicable)
- Dashboard > Settings > Family > Add Child
- Enter child's name, date of birth, allergies, and medical notes
- Repeat for each child
- Each child profile is a separate participant — memberships are assigned per person (parent and each child can hold individual memberships)
4. Find a class
- Browse explore page or search by sport and location
- Filter by day, time, skill level, or class type
- Select a class to view full details including pricing, coach, schedule, and cancellation policy
5. Make first booking
- Select session or enrolment type
- Select participant (self or child)
- Add to cart
- Complete checkout with card
6. Confirm
- Booking appears in Dashboard > My Classes
- Confirmation email sent to registered email address
Installing the app (optional)
AllSquads is a Progressive Web App (PWA). Players can add it to their home screen for a native app-like experience:
- iOS: Open in Safari > Share > Add to Home Screen
- Android: Open in Chrome > three-dot menu > Add to Home Screen or Install App
Coach Onboarding
Goal
Coach has a complete profile, connected Stripe account (if independent), and first class published and accepting bookings.
Steps
1. Create account
- Sign up at allsquads.com.au or continue with Google (Google OAuth)
- Select Coach during the account type selection step (the registration guidance screen helps users choose between Player, Coach, and Business)
- Verify email address (email/password sign-up only)
- Note: Coach onboarding always uses the coach wizard flow, even if the coach has subsequently created a business entity. The onboarding wizard is determined by the user's
authRole(the role selected at sign-up), not their promoted/effective role.
2. Complete profile
- The onboarding wizard guides the coach through profile completion inline
- Add bio, sport(s), qualifications, and profile photo
- Add location (Google Places autocomplete)
- Add Working with Children (WWC) check number if applicable — verified badge displays on your public profile
- LinkedIn-style fields: work history, achievements, languages, social links (can also be completed later from Settings)
- Profile must be complete before publishing classes
3. Connect Stripe (independent coaches only)
- The onboarding wizard includes an inline Stripe Connect step
- Complete Stripe's identity verification process
- Wait for Stripe approval (1–3 business days if manual review required)
- Stripe Connect is not required to publish classes — independent coaches can publish and accept bookings first; incoming payments are held at the platform level and release once Connect onboarding is complete. Connect must be fully approved to receive payouts
- Club-employed coaches skip this step entirely — payments flow through their club's Stripe account
4. Create first class (full class wizard)
- Coach onboarding now integrates the full class creation wizard directly into the onboarding flow
- Select class type, complete details, schedule, pricing, capacity, and cancellation policy
- The wizard is the same full wizard used from Dashboard > Classes > Create Class
- Publish the class to complete onboarding
5. Set availability (private lessons only)
- Dashboard > Schedule > Manage Availability
- Add recurring availability windows
- Add blocks for times you are unavailable
6. Verify class is live
- Check class appears in explore page under your coach profile
- Test the booking flow as a player (create a test player account if needed)
7. "What's next?" checklist (post-onboarding)
- After completing onboarding and publishing their first class, coaches see a "What's next?" checklist on the dashboard overview
- The checklist highlights remaining setup tasks: complete profile, connect Stripe, set availability, import contacts
- Each item links directly to the relevant settings page
- The checklist disappears once all items are complete or is dismissed
Invited Coach / Admin Onboarding
Goal
A user who accepted an email invitation from an existing club gets a lightweight profile-only setup rather than the full organisation wizard.
Steps
1. Accept the invite — click the email link (/accept-invite?email=...&club_id=...), enter name + password on the accept page.
2. Lightweight profile setup — regardless of whether the invite role is coach or club_admin, the user registers with role: "coach" and skips the 8-step organisation wizard. The dashboard-context promotes effective role to "club" automatically when the user's user_clubs row is club_admin, so admins still get the admin dashboard view — they just don't have to set up a new organisation.
3. Profile-only Next Steps — the dashboard "Next Steps" checklist shows a single item ("Complete your profile" → /dashboard/settings) for invited coaches/admins. No Stripe, no venue, no "Create your first class" — the club owner owns those. Platform education links are also hidden for invited users.
4. Ready to work — once the profile is saved, the invited coach/admin can view the club's classes, schedule, contacts, etc. immediately.
Why this exists
Previously, invited club_admins landed on the Business Type step of the 8-step organisation wizard — the wizard for someone creating a new club. Now they go through profile setup only. Previously, they also saw the full CLUB_ITEMS checklist with Stripe, venue, team-invite, etc. Now they see a minimal INVITED_COACH_ITEMS list.
Club Admin Onboarding
Goal
Club is fully configured with profile, Stripe, coaches, courts (if applicable), and at least one published class accepting bookings.
Steps
1. Create account
- Sign up at allsquads.com.au or continue with Google (Google OAuth)
- Select Business/Club during the account type selection step (the registration guidance screen explains the difference between Player, Coach, and Business accounts)
- Verify email address (email/password sign-up only)
2. Complete club profile
- The onboarding wizard guides the admin through profile completion inline
- Add club name, description, sport(s)
- Upload Club Logo and Cover Image (both labelled in the upload interface with recommended dimensions)
- Add address using the inline address form with Google Places autocomplete (address autocomplete with structured address fields)
- Add contact details and website
3. Are you also a coach? (coach profile step)
- The onboarding wizard prompts: "Do you also coach at this club?"
- If yes, set up a coach profile inline — enter coaching bio, qualifications, sport(s), and profile photo
- This links your user account to a coach profile affiliated with the club, making your account multi-role (club + coach)
- Skip this step if you are an admin-only role
4. Invite coaches (invite step)
- The onboarding wizard includes a dedicated invite step
- Enter each coach's email address to send invitations
- Coaches must accept the invitation before being assigned to classes
- Invited coaches who are club-employed do not need their own Stripe account
- Owners who also coach: ticking "Yes, I coach too" in the wizard's Coach Profile step grants the coach role automatically, so the owner appears in the public Coaches directory immediately — no active class assignment required
5. Connect Stripe
- The onboarding wizard includes an inline Stripe Connect step with persistence (progress is saved if the user navigates away and returns)
- Complete Stripe's identity verification for the club
- Stripe Connect is not required to publish classes — clubs can publish and accept bookings first; incoming payments are held at the platform level and release once Connect onboarding is complete. Connecting Stripe is recommended so payouts flow without delay
6. Create first class (full class wizard)
- On completing Stripe Connect, the onboarding wizard redirects to the full class creation wizard
- Complete all steps and assign a head coach
- Publish
7. Complete the Go Live checklist and publish
- The Go Live checklist (the wizard's final step) shows which required setup steps are complete: profile, venue, and a linked coach. Stripe and classes are NOT required to go live
- Each incomplete item is navigable — tap to go directly to the relevant setting
- Pressing Go Live publishes the club profile (makes it public) — this is what makes the club appear in Explore's Clubs tab and search. Until it is pressed, the club stays private and invisible to players
- If the wizard is exited without publishing ("Save & exit" or navigating away), the dashboard shows a persistent "Your profile isn't public yet — Publish" banner once the basics are complete; publish directly from the banner or reopen the wizard. Visibility can also be toggled any time in Dashboard > Settings
7b. "What's next?" checklist (post-onboarding)
- After completing onboarding, club admins see a "What's next?" checklist on the dashboard overview
- The checklist highlights remaining setup tasks: complete profile, connect Stripe, add courts, invite coaches, configure memberships, import contacts
- Each item links directly to the relevant settings page
- The checklist disappears once all items are complete or is dismissed
8. Configure venues (post-onboarding)
- Dashboard > Settings > Venues > Add Venue
- Enter venue name, address, and description
- Repeat for each venue if the club operates across multiple locations
9. Add courts (if offering court hire)
- Dashboard > Court Hire > Manage Courts > Add Court
- Name each court with a court number and optional name (e.g., Court 1, Centre Court)
- Select facility type (determines the terminology used across the platform — e.g., Tennis shows "Court Hire", Golf shows "Tee Times", Swimming shows "Lane Booking")
- Set sport type and availability hours
- Configure pricing: standard rate, member rate, day/night rates
10. Configure membership status on contacts (optional)
- Membership is set inline per contact in Dashboard > Contacts (open the contact's drawer, set status + expiry). No separate "Memberships" page.
11. Configure discounts and session packs (optional)
- Dashboard > Promo Codes > Add — for promo-coded and rule-based discounts
- Session packs are configured per-class in the class wizard (Step 2 / Step 3) — no global settings page
12. Set default cancellation policy
- Dashboard > Settings > Cancellation Policy
- Set default policy applied to new classes
13. Verify club is live
- Check club profile appears in explore page
- Confirm classes are visible and bookable
- Test the booking flow as a player
14. Configure website widget (optional)
- Dashboard > Settings > Widget
- Copy embed code and paste into club website
Common Onboarding Mistakes
Coach — Stripe not connected (independent coaches)
Independent coaches can publish classes and accept bookings before connecting Stripe — incoming payments are held at the platform level and release once Stripe Connect onboarding is complete. Connecting Stripe is the most common blocker to receiving payouts, not to publishing: until Connect is fully approved (not just initiated), funds stay held. Note: club-employed coaches do not need their own Stripe — this only applies to independent coaches.
Club — courts not configured before launching court hire
Court hire is only functional once courts are added and pricing is configured. Publishing court hire before completing setup results in players seeing no available slots.
All roles — profile photo missing
A complete profile photo significantly increases booking conversion. Profiles without photos have lower click-through rates from explore page listings.
Club — coaches invited but not yet accepted
Classes can be created and assigned to coaches before they accept the invitation, but the coach will not receive booking notifications until they are fully affiliated. Confirm acceptance before going live.
Coach — availability windows not set for private lessons
Private lesson classes are published but show no available times. Availability windows must be configured in Calendar > Manage Availability before players can see bookable slots.
Club — facility type not set on courts
If facility type is not configured on courts, the court hire section may display generic labels. Set the correct facility type in Court Hire > Manage Courts to ensure the correct terminology (Court Hire, Tee Times, Lane Booking, etc.) is shown across the platform and consumer profile.