Account Setup
Creating a coach account
- Sign up at allsquads.com.au and select Coach as your role during onboarding, or continue with Google (Google OAuth). In the AllSquads iPhone app you can also continue with Apple
- Complete your coach profile: name, bio, sports, qualifications, profile photo, location. The best profile photo is 400 × 400, square, with your face in the middle (it shows in a circle). Use JPG, PNG or WebP, up to 5MB
- Add your Working with Children (WWC) check number if applicable — once entered, your public profile shows that a WWC number is provided
- Connect your Stripe account via Dashboard > Payments > Connect Stripe (independent coaches only — club-employed coaches skip this step)
- Create your first class using the full class creation wizard, which is integrated into the onboarding flow
Profile completion gate
AllSquads requires a complete profile before a coach can publish classes. A complete profile includes: full name, bio, at least one sport, profile photo, and (for independent coaches) a connected Stripe account.
Independent coach vs club-employed coach
There are two types of coach on AllSquads:
- Independent coach — runs their own coaching business. Must connect their own Stripe account. Has access to Payments and Analytics. Sees business-only features (Court Hire, Pro Shop, Promo Codes, Team Management) as upsell opportunities with an amber "Upgrade" badge.
- Club-employed coach — coaches under a club. Does not need their own Stripe account (payments flow through the club). Payments and Analytics are hidden. Business features are hidden entirely. Club-employed coaches skip the Stripe step during onboarding.
Coaches can operate independently and be affiliated with clubs simultaneously. Independent classes and club-affiliated classes are managed from the same dashboard.
Home dashboard
Independent coaches see a "Have you tried...?" card on Home, in the last row beside the What's new card (stacked on a phone), that rotates through features you haven't set up yet — Facility Hire, Pro Shop, Promo Codes, Memberships, Team, and class-level options like subscriptions, session packs, term programs, holiday camps and private lessons — with a short explainer, the benefits, and a button that takes you straight to setting it up. A feature drops out of the rotation once you're using it, and dismissing a tip removes it for good — it won't come back. The card disappears entirely once every feature is either set up or dismissed. Club-employed coaches don't see this card.
Coach Profile (LinkedIn-style)
Overview
Coach profiles are designed as LinkedIn-style professional profiles that showcase a coach's background and credentials. The public profile displays on the coach's page at allsquads.com.au/coaches/[slug].
Profile fields
In addition to the standard fields (name, bio, sport, photo, location, WWC), coach profiles include:
- Work history — a list of coaching positions with role, venue/organisation, and period (e.g., "Head Coach — Melbourne Tennis Academy — 2019–2023")
- Achievements — notable accomplishments, certifications, and awards (e.g., "Tennis Australia Level 2 Coach", "2022 Coach of the Year")
- Languages — languages spoken
- Social links — links to external profiles and websites (e.g., Instagram, Facebook, LinkedIn, personal website). Each link has a label, URL, and type
Editing profile
All LinkedIn-style fields are editable from Dashboard > Settings > Profile. Work history entries, achievements, and social links can be added, reordered, and removed individually.
Appearing in the public Coaches directory
Explore's Coaches tab lists every coach-role account with a public profile and a name set — club-affiliated or independent (Alex ruling 2026-08-08: "every coach profile, independent or with a club, should be visible. same as every club"). No active-class assignment is required. A coach lists if they hold an unarchived coach/club_admin role at any club, OR have no such club roster role at all (independent, including a coach who only has their own personal organisation). A coach whose club membership was archived (removed from a club's roster) does not appear until they join another club or otherwise regain a roster/independent status. Profile visibility (public by default, toggle in Dashboard > Settings) is the only opt-out. Club owners who tick "Yes, I coach too" during onboarding receive the coach role automatically and appear immediately.
Creating a Class
Step 1 — Class type and basic details
- Navigate to Dashboard > Classes > Create Class
- Select class type: Group Lesson, Social Session, Holiday Camp, or Private Lesson
- Enter class headline, description, sport, and skill level
- Set listing access (Explore visibility): Public, Private, or Invite-only — see "Listing access (Explore visibility)" below for what each option actually controls
Step 2 — Schedule
Group Lesson (Recurring):
- Set start date, recurring frequency (weekly/fortnightly/daily), day(s) of week, start time, duration
- Set end date or leave open-ended (rolling)
- For term classes, set a term end date and configure holiday exclusions (individual session dates can be toggled included/excluded; Australian public holidays are flagged automatically)
Social Session (One-off):
- Set single date, start time, duration
Holiday Camp:
- Select individual camp dates
- Optionally configure weeks with week-based pricing
Private Lesson:
- Set available time slots via Availability Windows (see Availability section)
- Set duration tiers (30/45/60 min) and pricing per tier
- Set minimum booking lead time (hours in advance players must book — enforced on the availability calendar)
Step 3 — Pricing
- Set standard price per session (or per term/camp)
- Optionally set member pricing
- Enable drop-in pricing for term classes (casual single-session rate)
- Enable pro-rata pricing (auto-calculated reduced rate for mid-term joiners)
- Add discount rules (e.g., sibling discount, early bird)
- Subscriptions (recurring classes only): Enable subscriptions to allow players to pay automatically on a weekly or fortnightly basis. Set subscription price, billing interval, and cancellation notice period (default 7 days)
Step 4 — Capacity and settings
- Set maximum capacity per session (hidden for private lessons — private lessons are booked per player per slot)
- Changing a class's capacity later applies to every upcoming session straight away — a session you've given its own capacity override keeps that override. You can't lower the capacity below the number already booked into an upcoming session: the platform never removes a booked player, so cancel or move those bookings first, then lower it. Automatic acceptance only ever fills a session up to its current capacity — once it's full, new players are offered the waitlist instead
- Enable/disable auto-approval — ON by default (bookings confirm instantly; switch it off if you want to approve each booking manually)
- Set approval timeout hours
- Assign a court (if court hire integration is configured)
- Configure cancellation policy (see Cancellation Policy document) — a new class defaults to full refund with 1 hour's notice until you change it
- Waitlist is on by default for full sessions; members-only is off by default
- Automated priority booking is off by default — two optional settings that open a session's bookings a set number of days beforehand and give chosen membership tiers first access for a set number of hours before it opens to everyone. See the Club Guide's Creating and Managing Classes section for the full behaviour; it's the same Settings tab control for both coaches and clubs.
- Emergency contact required is off by default — turn it on to require the account holder to have an emergency contact on file before booking themselves or a guest into this class. A player missing one is prompted to add it inline in their cart before checkout. Child attendees always require their own emergency contact regardless of this toggle. Existing classes are unaffected unless you explicitly turn this on
Step 5 — Publish
- Save as Draft (not visible to players) or Publish (immediately live)
- The class type cannot be changed once a class is created (not just once it has bookings) — this also means duplicating a class always keeps the source's type
- Session generation is asynchronous — after publishing, sessions are generated in the background via a BullMQ job. Sessions may take a few seconds to appear on the Schedule tab.
Listing access (Explore visibility)
This is a separate control from Draft/Publish (class status) — it governs whether a published class is listed for discovery, not whether it exists or can be booked.
- Public (default) — listed everywhere: the Explore feed, the homepage, your coach profile's service list, "related classes" rails, and search via the AI assistant.
- Private — excluded from every cross-club listing/discovery surface above. Still directly reachable by anyone with the class's own link (e.g. shared via
/classes/<slug>), and still bookable normally — this setting only controls whether it's surfaced to people browsing, not whether it can be found by direct link or booked. - Invite-only — same listing behaviour as Private (excluded from discovery, reachable by direct link) plus a booking-time restriction: only players on the class's invite list can actually book a seat, even with the direct link. Manage the invite list from the class's Invite List panel.
A class you're currently viewing on your OWN club's public profile page (or its "View all classes" tab, the club's coaching/court-hire embed widgets, or your dashboard's own class pickers) is a direct/scoped view, not cross-club discovery — Private and Invite-only classes still appear there for now. If you need a class hidden even from your own public club page, keep it as a Draft instead (drafts are never shown anywhere on the consumer side).
Managing Classes and Sessions
Class list view
The Classes tab shows all classes in a compact grid card layout. Each card displays the class headline, sport, schedule summary, and assigned coach. The class list includes a Coach column showing which coach is assigned to each class. Holiday camp cards also show camp dates and price per week.
Renaming a class (its web address follows)
A class's public web address (/classes/<slug>) is built from its name. When you rename a class, the address is rebuilt from the new name and the previous address keeps working: anyone opening the old link (a text to parents, a social post, a search result) is redirected to the class's current address. The most recent previous address is remembered — rename a class twice and the address from before the first rename stops working, unless you rename the class back to that earlier name, in which case its original address is restored. Renames that only change capitalisation, punctuation or spacing don't change the address at all. Duplicating a class always gives the copy its own address built from the copy's name.
Viewing sessions
Classes tab shows all classes. Select a class to view its sessions list with upcoming dates, capacity, and booking counts.
How far back past sessions go
The Past view on the Bookings tab shows your club's complete session history, including sessions that came across from a previous system when your club migrated. Nothing expires and nothing is archived out of reach on a rolling basis — a session from a year ago opens the same way as one from last week, and its player list is still there.
Very large clubs are the one exception, and the page tells you when it applies: the list loads the most recent 5,000 sessions at once, and if your club has more than that you'll see a note at the top of the list saying so. The older sessions are still there — use Export with a date range to reach them (independent coaches, and club owners/admins, only — see "Exporting your data" below).
To review one stretch of time, such as a single week's attendance, open Past and set Filters > Date range. The list then shows only sessions held between those dates (both days included), and the Total Sessions, Total Attended and Avg Attendance figures above it cover the same dates. The same range on the Upcoming view narrows upcoming sessions instead, so a range that is entirely in the past shows nothing there: switch to Past to see it.
Opening a session from the Bookings list and coming back, with Back to bookings or your browser's Back button, returns you to the list exactly as you left it: the same Upcoming or Past tab, filters, page and scroll position. That makes it quick to work through several sessions in a row.
Session roster
Each session has a roster showing all enrolled players, their booking status, payment status, and attendance. Two roster statuses look similar but mean different things: "Awaiting payment" is an unpaid/offline booking (e.g. cash or a payment request) still waiting on money — the player hasn't paid yet. "Awaiting approval" is the opposite: the player has already paid, and the booking is waiting on a decision from you (see "Approving pending bookings" below). They are never the same booking.
Exporting your data
An independent coach can export their own bookings, contacts, roster, payments, reports, analytics and pro-shop orders as CSV/PDF files — it's your own business data. A coach, head coach or host working under a real club cannot: those exports (and every other file download in the club dashboard) are club owner / club admin only, same as the club side's data ownership. The one exception every coach keeps regardless: from a session's roster, printing an attendance sheet (via the browser's print dialog, saveable as a PDF) — that's a printable page, not a file download, and every coach needs it on court.
Setting a per-session capacity override
Need to raise or lower the room in one specific session without changing the class's usual capacity? Open the session in the Bookings tab (class detail page) and use the pencil icon next to the Capacity card:
- Click the pencil icon on the Capacity card
- Enter the new capacity for this session only (leave the field showing the class default if you don't want to change it)
- Save — the new number applies immediately to this session's capacity everywhere it's shown (this card, the player's booking screen, and your own Add Player check)
- To go back to the class's usual capacity, click Clear
Setting a session's capacity to 0 closes it: players see it as full and can't book it. To reopen it, enter a new number or click Clear.
An "Override active" note appears under the Capacity card whenever a session has its own number. This doesn't touch the class edit wizard or any other session — it's scoped to the one session you're viewing. Not available once a session has already ended.
Keeping some of a class's courts for one session
If fewer players turn up than usual, you can free some of a class's courts for one session so they can be hired. On the Schedule, open the session, choose Session Overrides, and under Court Override tick only the courts the session keeps (for example 4 of 6), then Save Overrides. The unticked courts open for court hire for that session only; every other session in the class keeps all its courts. To give the session back all of the class's courts, choose Use the class's courts and save. Not available once a session has already ended.
Approving pending bookings (auto-approval off)
If you've switched auto-approval off for a class (Step 4 above), new bookings sit as "Awaiting approval" until you accept or decline them — the player has already paid, but their spot isn't confirmed yet. Approve or decline from:
- Bookings tab, class list — a blue "N awaiting approval" note appears next to the enrolled count on any class/session row with a pending-approval booking, so you can spot which ones need a decision without opening each one.
- Bookings tab, Individual bookings view — the player's booking drawer shows Approve/Decline buttons directly whenever their status is Awaiting approval.
- Bookings tab, class detail page — open the class (from either list above, or via the Classes tab's Manage Class drawer, which routes to the same page): the mobile roster card and the player's detail drawer both show Approve/Decline buttons on any pending-approval row, and a session-scoped "Awaiting approval" card sits alongside Capacity/Cancelled.
Approving confirms the booking and notifies the player. Declining cancels the booking, notifies the player, and issues an instant credit for the class price (the booking fee is non-refundable — see Cancellation Policy / Payments and Credits). Declining also lets you suggest an alternative date/time instead of a flat decline.
Redeeming a kids sport voucher booking
Turning on "Accept kids sport vouchers" in a class's settings also adds a "vouchers accepted" badge to that class wherever it is listed — Explore, your club page, the class page and the embed widget. The badge is named for your club's state scheme (Play On! in QLD, Active and Creative Kids in NSW, Get Active Kids in VIC, KidSport in WA, Sports Vouchers in SA, Ticket to Play in TAS, Sport Voucher Scheme in the NT); clubs in the ACT see no badge because there is no scheme there. The state comes from your club's venue address, so keep it filled in.
If your class has "Accept kids sport vouchers" turned on (class settings), a player can pay with a government kids sport voucher at checkout. Their booking sits Pending until you redeem it — clicking Approve opens a redemption modal showing the voucher code, the balance the player declared, what the class was actually charged at, what the voucher covers and what (if anything) the player paid on top (by card, or from their account credit, and the modal says which), and a link to the government portal. On a term class joined part-way through, the price shown is for the sessions that are left, and the modal says so. Redeem the code there, then paste the reference back into AllSquads and confirm. If the portal shows a LOWER balance than the player declared, correct the figure before confirming — AllSquads re-prices the gap, keeps the booking pending, and asks the player for the difference, so you are never left claiming less than you were told — the booking then moves straight to Confirmed. If the code is invalid, use Reject instead (frees it up so the player can resubmit a corrected code). A voucher only reaches you once any part of the price the player owes has actually been paid — if they abandoned the card step, you are not asked to redeem a code you could not then complete the booking for, and the seat is released after 7 days. Pending vouchers also appear in Needs Your Attention on your dashboard home — each row names the player, the class, the code, what you'll claim, and how many days are left, and links straight to the redemption screen. The row disappears once you've redeemed the code. An unredeemed voucher booking auto-releases after 7 days if you take no action, with reminders beforehand, unless the player has already paid the part of the price the voucher didn't cover. Those never auto-release: they stay pending until you approve or reject them, and you get a reminder each week.
Wherever a voucher booking shows up — the class roster, the booking detail panel, or a player's Booking History on their contact profile — you'll see the voucher and the card gap tracked as two separate states: a Voucher badge (pending, redeemed or rejected) and, if there's a card gap to cover, a Gap badge showing the dollar amount and whether it's been paid or is still pending. If a player has already paid their card gap while the voucher itself is still awaiting your redemption, that gap shows as paid — it's never lumped in with "Unpaid". Because the player owes nothing once that card gap is settled (or there was never one to pay), the booking's own status badge reads "Voucher pending" instead of "Awaiting payment" — that's the club's redemption still to do, not the player's money to collect. If the card gap genuinely hasn't been paid yet, the status still reads "Awaiting payment" for that dollar amount. Once you've redeemed the voucher and the gap is paid, the booking reads as fully paid, the same as any other booking.
Marking attendance
- Open the session detail
- Select Mark Attendance
- Mark each player Attended or Absent
- Save
A coach who has been assigned a session by a club admin (a per-session reassignment or substitution) can view that session's roster, mark attendance and notes, and add players to that specific session — even if they aren't the class's head coach or a club admin. The permission is per-session: being assigned one session doesn't grant access to the rest of the class.
If your club adds you as an assistant coach on a class, the class appears on your Schedule, Bookings and Calendar, you can open its roster and mark attendance on every session, and you get the same "new booking" notification as the head coach. Cancelling bookings, refunds, moving players, payment requests, adding players, editing the class and pricing stay with the head coach and the club, so those buttons don't appear on the class page for you. Your club chooses its assistant coaches in the class's Settings.
Adding a player manually
Coaches can add players to a session manually (e.g., walk-ins, complimentary spots), from the session detail page or the calendar's Manage Class drawer — both open the same Add Player screen:
- Open session detail (or the calendar drawer) > Add Player
- Search by name or email, or add a new person
- For term classes, choose the booking scope: Whole term (all remaining sessions) or This session only
- For holiday camps, choose what they're booking: the full package (every configured day, at the package price), or Casual days — tick any individual days (for example Wednesday and Friday only), priced at the per-day rate for just those days. Roster and capacity update only for the days actually chosen; other days on the camp are untouched.
- For kids classes, choose which child is attending (pick from the contact's children, or add a new child) — required so the roster shows the child's name, not the parent's. Optional on classes open to any audience.
- Select payment method: Cash, Free (internal/complimentary, no charge), Already paid, or Send link (pay online). For Send link you can change the Amount to charge — useful for a discount or a player joining part-way through a term. The player pays that amount plus the standard booking fee, less any credit they hold with you; the payment link and its email show the exact total.
- Optional: enter an emergency contact name and phone for the player — capture it if you have it, the add goes through either way. It shows on the roster next to their name.
- Confirm
Free and Cash bookings are confirmed immediately — there's no separate approval step. A cash player counts as paid when you add them. If they still owe you, set the Cash Paid chip on their row in Bookings to Cash Unpaid, and click it again once you've collected the cash (on the Schedule, the $ button marks it paid). It's saved on the booking, so it still shows after a reload. A Send-link booking stays Pending until the player pays; it flips to Confirmed automatically once payment goes through — no action needed from you.
Add Player is only available on upcoming sessions — once a session's end time has passed, its roster is read-only (attendance marking is unaffected and stays available for past sessions).
If adding a player would take a session over its configured capacity (including a session-specific capacity override set from the Bookings drawer), you'll see "This exceeds capacity (X/Y). Add anyway?" — this is never a hard block. Confirm to add the player anyway; capacity is a guide for the coach, not a wall. A session you've closed (capacity 0) asks the same way: "This session is closed (capacity 0). Add anyway?"
Moving a player
To move a player from one session to another within the same class:
- Open session detail > select player > Move Player
- Select the destination session
- Confirm — the player is notified
If one parent booked two or more children on the same booking, each child is listed separately under Player. Moving one child leaves their brothers or sisters where they are. When you move a camp booking to another camp, the child keeps the days they were booked for (for example Wednesday and Friday), not the whole camp.
If the destination class or session is priced differently, you're shown both prices and the exact dollar difference before confirming:
- Moving to a cheaper class — the difference is credited to the player automatically, up to what they paid.
- Moving to a more expensive class — you can send the player a payment link for the difference, or make no change (the default).
The amount is worked out per the actual sessions moved.
Whole-term enrolments. A player your club enrolled for a whole term moves as a whole term: choose "Whole series" (it's selected for you) and the class to move them to. They join that class's current term with the same enrolment, and leave the old one. The price difference is the difference between the two terms' prices (for example $200 to $220 offers a $20 payment link). A voucher on the booking stays with it, already redeemed. A term that is full, a term package across more than one day, or a term paid in instalments can't be moved this way. Cancel it and book the new class instead.
After the term's payout week has closed. You can still move a whole-term enrolment to another class at your club once the term's payout has been made, or is waiting to be approved. The payout already made is not changed and is not paid again. If the new class costs more, you can still send a payment link for the difference. If it costs less, no credit is given automatically, because your club has already been paid the full term price. To refund the difference, issue a manual club credit. If the payout is still waiting to be approved and the new class starts in a later week, the move waits until that payout has been made.
Cancelling a session
- Open session detail > Cancel Class (session)
- Optionally pick a reason (Poor weather conditions, Coach unavailable, Insufficient numbers or Other). Players see it in the email and in the app. Leave it on "No reason given" and the notice gives none.
- On a paid plan you can also add a short message to players. It goes in the email, in the app and in the text message, so it is limited to 80 characters to keep the text to one message. The counter shows what's left, and Cancel stays disabled while you're over.
- All enrolled players are notified automatically
- Refunds are issued as credits per the class cancellation policy
Archiving or deleting a class
- Archive — hides a class from the public explore page and stops new bookings but keeps all historical bookings, sessions, and data. You can't archive a class while it still has upcoming bookings: cancel those bookings (or cancel the class) first. This is the recommended action for any class that has had bookings.
- Delete — permanently removes the class. Only available from the class card kebab menu, with a confirmation modal. Delete is blocked if the class has any active bookings — archive it instead. There is no undo.
Availability (Private Lessons)
Setting availability windows
Availability windows define when a coach is available for private lesson bookings.
- Navigate to Dashboard > Schedule > Manage Availability
- Add recurring availability windows: select days and time ranges (e.g., Mon–Fri 8am–12pm)
- Players can only request private lessons within these windows
Manual availability blocks
To block specific times (holidays, personal appointments):
- Schedule > Add Block
- Set date, start time, end time, and label
- The blocked time is removed from private lesson availability
Repeating private lessons (same student, same time every week)
Most regular private lessons are the same student, same coach, same court and same time each week for a term, often paid in cash or by transfer afterwards. You can book the whole run in one go:
- Schedule > Add booking > Private Lesson
- Choose the coach, court, date and time, the contact, and the payment method (Already paid, Cash, Send link so the client pays online, or Internal for no payment).
- Tick Repeat this booking, choose Weekly or Fortnightly, and either For N weeks or Until a date (the end of term, say)
- Click Add repeating booking. Before anything is saved, every week is checked against the coach's classes and lessons, the court's bookings and classes, and the court's opening hours. If some weeks clash, you'll see exactly which ones and what they clash with — change the details, or choose Skip clashing weeks, add the rest. Nothing is saved silently.
Each week is its own booking, so it appears on the schedule like any other private lesson and holds the coach's and the court's time (players can't book that coach or hire that court then). The payment method applies to every week.
Send link on a repeating lesson: the client gets ONE payment link, by email, for all the weeks. Before anything is saved you see the total: every week's price added together plus one AllSquads booking fee for the whole payment (not one per week). Add the client's email first. When they pay, every week is marked paid together. If you skipped clashing weeks, the link covers only the weeks that were added. The link is for exactly those weeks at that price, so if you cancel a week or change the price before it's paid, the link stops working.
On the schedule a private lesson reads Court 16 – Private – coach – client in the lesson colour, so it isn't mistaken for a player's court hire. Private lessons booked this way (one-off or repeating) don't appear in the Facility hire list under Dashboard > Court Hire, and the client isn't sent a court hire confirmation. They still hold the court.
Managing a repeating lesson: open any week from the schedule.
- Cancel booking > This session only — frees just that week (sick student, filling the slot); the rest of the series is untouched.
- Cancel booking > This & all remaining — cancels that week and every later week. Earlier weeks stay as they were.
- Edit booking > Apply to: This & all remaining — changes the coach, court, time, price or notes for that week and every later week, each on its own date. Every affected week is conflict-checked first; any that would clash are listed and nothing changes until you choose to save while leaving those weeks unchanged.
Responding to a private lesson request
When a player requests a private lesson slot, it appears as a pending booking awaiting your accept or decline. You'll get reminder alerts soon after it arrives, so respond promptly — but a request is not cancelled just for being unanswered. It only auto-cancels once the lesson itself is close (4 hours away by default; clubs can configure this), at which point the player is automatically credited and notified. A request for a lesson weeks out waits for you rather than expiring.
Coach Dashboard
Sidebar navigation
The coach dashboard sidebar shows coaching-specific tools:
- Classes — class management (create, edit, view all classes)
- Bookings — view and manage all bookings (list view only)
- Schedule — calendar view of sessions and availability
- Contacts — CRM-style player list
- Messages — player communications and broadcast messaging (with class type and sport filters)
- Payments — Stripe Connect, transactions, payouts showing Last Payout and the current weekly accrual (independent coaches only). Independent-coach earnings — including private lesson offers — accrue into the weekly payout, paid to the coach's own Stripe account net of the platform fee
- Analytics — revenue and performance reports (independent coaches only)
- Reviews — player reviews with respond and appeal/flag actions
- Help — knowledge base and support
- Settings — club/org profile, cancellation policy, embed widget
Personal profile settings (name, photo, bio, qualifications, notifications, account) are accessed via the top-right avatar menu under "My Profile", separate from club/org Settings.
Business-only features (upsell)
Business-only features — Court Hire, Pro Shop, Promo Codes, and Team Management — appear in the coach sidebar with an amber "Upgrade" badge. Clicking any of these items displays an upsell card prompting the coach to upgrade to a Business account to unlock the feature. Coaches cannot access these features without upgrading.
Court Hire
Court Hire is a business-only feature. Independent coaches see it in their sidebar with an amber "Upgrade" badge. Clicking it shows an upsell card prompting upgrade to a Business account. Club-affiliated coaches with business access can view the court hire calendar, check availability, and create bookings on behalf of players (internal or cash bookings). Court pricing and court management are club admin functions.
Contacts
What are contacts?
Contacts is a CRM-style list of all players a coach has worked with. Players are automatically added as contacts when they make a booking.
Contact sources
Contacts can be: Booking (auto-added on booking), Manual (added by coach), Import (bulk uploaded), or Guest.
Contact detail
Each contact shows: name, email, phone, booking history, membership status, notes, and tags.
Adding a contact manually
Dashboard > Contacts > Add Contact. Enter name, email, and any additional details.
Communications
Messaging players
Dashboard > Messages > New Conversation. Select player(s) from contacts. Messages are delivered in-platform and optionally by email.
Contacting all session attendees
From a session on the Schedule, "Send message to all attendees" opens the broadcast composer with that class selected and scoped to the players booked into that session. The composer resolves the exact number of people the message will reach before you send; if that number changes before you press Send, the send is refused and the new number is shown for review. This always emails every booked recipient with an email on file — see Announcements below.
Class group chat
Every class has one shared group chat: everyone booked into any session of the class, plus the coach and club admins. Open it from the chat icon on a booking, or from Messages, New, Create a channel, Class channel. The confirmation before you post states how many people will be notified.
Message class on a session's roster makes a separate group chat with only the players you tick there, so a post in it notifies just them. Players with no AllSquads account can't be added to a chat. To email everyone booked into one session, use "Send message to all attendees" on that session.
As the class's head coach you can open "Manage chat" (in the ⋮ menu) to see who's in the chat and each person's role, add one of your club's contacts who has an AllSquads account, or remove someone. A removed player stays out of the chat, and their booking is unchanged. Someone who left the chat themselves can't be added back.
Announcements
Announcements can be sent to all contacts, to one or more classes (By squad), or to selected players, filtered by class type, sport, or audience. The recipient count shown before sending is the count the send goes to. Every recipient with an email address on file is emailed, verified or not, unless they have switched club announcement emails off or unsubscribed (a message to players who hold a booking reaches them regardless). A contact with no AllSquads account can only be reached by email, so one with no email address, or one who has unsubscribed from your emails, is not counted.
Finding a broadcast you've already sent. A broadcast isn't a chat, so it doesn't appear in your conversation list. To read one again, or copy it to send to someone else, open Messages and choose Sent broadcasts. It lists the broadcasts you sent, newest first; open one to see the full message and press Copy message.
Who receives the email. By squad (a class, or one session within it via "Send message to all attendees") always reaches every recipient with an email on file — verification status and the club-announcement email setting don't apply, because the audience holds a booking. Selected players get the same treatment only when every player you picked currently holds an active booking with you. All contacts, or a filter-only audience (members, sport, class type, etc.), reaches only players with a verified email who have announcement emails switched on; everyone else gets the in-app notification.
Segment channels
Club admins can create a Segment Channel — a one-way or two-way chat scoped to an audience filter (sport, class type, or recent bookings) rather than a single class, with membership that keeps itself up to date as bookings change. If you're a club_admin or owner, "Manage channel" (⋮ menu on the channel) lets you see the member list, remove someone (it sticks — they won't be silently re-added), rename the channel, switch it one-way/two-way, or delete it. See the Club Guide's "Segment channels" for the full walkthrough.
Payments and Payouts
Stripe Connect
Coaches must connect a Stripe account before receiving payments. Navigate to Dashboard > Payments > Connect Stripe and follow the Stripe onboarding flow.
Payout schedule
Payouts are processed weekly by AllSquads. Your Last Payout, Current payout (this week's accrual / last week awaiting approval), and Total Paid Out are visible in Dashboard > Payments > Payouts. There is no separate "Current Balance" — under platform-held payments nothing sits in your Stripe account outside the weekly payout.
Transaction history
All individual transactions (bookings, refunds, credits) are visible in Dashboard > Payments > Transactions.
Fees
AllSquads charges two distinct fees on each booking:
- Booking fee — paid by the player on top of the class price at checkout. The rate depends on class type (group/social 3%, camp 2.5%, term 2.2%, annual 3%, private 2.5%, court hire 3%, drop-in 3%, subscription instalment 3%). This is AllSquads revenue, retained from the platform-held charge (no Stripe
application_fee/Connect params). Subscription instalments use the 3% subscription rate, not the underlying class-type rate. One-off booking fees are floored at 50¢ GST-inclusive — only relevant on tickets under ~$17. - Platform fee — paid by the coach / club out of the payout. The rate depends on subscription tier (Coach Free 5%, Coach 3%, Coach Pro 2.5%; Club Free 5%, Club 2%, Club Pro 1.5%).
The booking fee is on the class price after any promo code or discount you offer: credits don't reduce it, except credit from a cancelled booking, which already paid its fee. When credits cover a whole booking, the player pays nothing and that booking's fee is deducted from your payout instead (a promo code that covers it in full leaves no fee at all), shown in the Fee column of the booking's line (a voucher class excepted: the parent pays it). Any fee taken from the payout for a booking (whether credits, a promo code, cash, a voucher or a manual credit paid for it) comes off if the booking is cancelled before the cancellation cut-off; it stays only if the class runs or the cancel is late. If only some sessions or players on a booking are cancelled before the cut-off, their share of the fee comes off, and a fee already taken in an earlier payout is returned on your next payout as a "Booking fee returned" or "Platform fee returned" line. A booking is never charged the same fee twice. Refunds claw back the cash component, not the fees. Historical rates are snapshotted on each booking so changes never re-rate past payments. The full breakdown of any individual transaction is visible in Dashboard > Payments > Transactions.
Reviews
Receiving reviews
Players can leave a review after attending a class. For club-run classes the review form is two-part: a club review (primary) plus an optional coach review — each with its own star rating (1–5) and optional comment, submitted together in one flow.
Who the review counts for — account-level attribution
Reviews are attributed at the account level, not the individual session level:
- If you run an independent coach profile (no club), every review of a class you teach counts toward your coach profile and your aggregate rating.
- If your class is listed under a club, the player's club part counts toward the club's profile, and their optional coach part counts toward YOUR coach profile and rating. Reviews left directly from your public coach profile also count toward your coach rating.
This means a player has at most one review per coach profile and one per club profile, regardless of how many classes they have booked. A second submission by the same player on the same coach or club updates the existing review.
Reminder cadence
The first review request email goes out about a day after the player's attendance is marked — whatever time of day you marked the roster. If they haven't reviewed after 7 days, AllSquads sends one (and only one) reminder. There is no further follow-up.
A player who has already reviewed you (or your club) is not sent further review requests, because a player leaves at most one review per coach profile and one per club profile. Where a player has several classes newly marked attended, their prompts are paced out over the following days — at most one per club per day and no more than three in a day — so the requests are not all delivered at once.
Indefinite review window
There is no hard cutoff. A player who attended months ago can still leave a review by going to the class page and clicking "Leave a review".
Responding to reviews
Dashboard > Reviews > select review > Respond. Post a public response visible below the review on your profile. One response per review; responses can be edited within 24 hours.
Appealing/flagging a review
Dashboard > Reviews > select review > Flag. Submit a reason (Inappropriate content, Factually incorrect, Not a real booking, or Other) with optional description. Appeals go to AllSquads admin for review. The review remains visible while under review. If admin upholds the appeal, the review is removed. Coaches cannot re-appeal a dismissed appeal.
Analytics
Available reports
Dashboard > Analytics provides:
- Revenue by period (Overview)
- Class performance and attendance (Classes tab)
- Player retention and acquisition (Players tab)
- Financial breakdown including booking fees and platform fees (Financials tab)
Settings
Personal profile
Personal profile settings (name, photo, bio, sports, qualifications, WWC, social links, availability) are accessed via the top-right avatar menu > My Profile at /dashboard/profile. This is separate from the club/org Settings in the sidebar.
Club/org settings
Dashboard > Settings (sidebar). Contains club-level settings: Organisation Profile, Payments/Stripe, Cancellation Policy, Team Management, Embed Widget, Pro Shop hours, Court hire settings.
Notification preferences
Dashboard > Settings > Notifications. Configure which events trigger email, SMS, or in-app notifications.
Two-factor authentication
Coaches can add a second sign-in step using an authenticator app (Google Authenticator, Authy, 1Password or similar) — off by default, turned on per account, nobody can switch it on for you.
Some clubs require it for all staff. If a club you coach at turns this on, you'll be asked to set it up the next time you open that club's dashboard, and you won't be able to use the dashboard again until you do — signing out and the setup screen stay available either way. If you coach at more than one club, setting it up once covers every club that requires it.
To set up your own: Dashboard > Settings > Security > Turn on two-factor authentication. On a computer, scan the QR code with your authenticator app (or choose Can't scan? Enter key). On a phone or in the app, tap Add to authenticator app and your phone offers the app you use, such as Apple Passwords, Google Authenticator or 1Password (or choose Enter key manually). Then enter the 6-digit code from the app to finish. On iPhone the code may be saved in Apple Passwords, which is an authenticator app too and fills the code in when you sign in. You are then shown 8 backup codes once — save them somewhere safe. Each backup code signs you in a single time if you lose access to your app.
Once on, signing in with your email and password asks for the 6-digit code (or a backup code) after your password. Signing in with Google or Apple is not affected — those sign-ins are not asked for a code. Text-message (SMS) codes are not offered.
To turn it off: Dashboard > Settings > Security > Turn off and enter a current authenticator code or a backup code. If any club you're on staff at still requires it, you'll be asked to set it up again the next time you open that club's dashboard. If you have lost both your authenticator app and your backup codes, contact support@allsquads.com.au — the support team can remove two-factor from your account after confirming your identity, and that action is recorded.
Cancellation policy defaults
A default cancellation policy can be set at the coach level and applied to new classes automatically.
