The two fees, in plain English
AllSquads charges two different fees, paid by two different people. Understanding which is which answers most pricing questions:
- The booking fee — paid by the player. When a player books and pays online, a small percentage is added on top of the class price at checkout (for example, 3% on a group class — the full per-class-type table is below). This is the player's fee, not the club's: it covers AllSquads' costs including card processing, the club never pays it, and it never comes out of the club's money.
- The platform fee — paid by the club (or coach). When AllSquads pays the club its booking money, a percentage is deducted from the payout. The rate depends only on the club's subscription tier — for example 5% on the free tier, 2% on the Club tier (full table below). This is the club's fee; players never see it.
A worked example. A player books a $20 group session at a club on the Club tier:
- The player pays $20.60 at checkout — $20 class price + $0.60 booking fee (3%).
- The club's payout for that booking is $19.60 — $20 minus the $0.40 platform fee (2%).
- The $0.60 booking fee went from the player to AllSquads; the $0.40 platform fee went from the club's payout to AllSquads. Neither fee is charged twice, and neither party pays the other's fee.
How GST works
AllSquads is GST-registered (ABN 58 677 516 022). Who handles the GST depends on whose sale each amount is:
- The class price is the club's own sale. AllSquads processes the payment on the club's behalf, but the club is the merchant of record — so AllSquads does not add or collect GST on the class price. If the club is GST-registered, GST on class fees is the club's to account for under its own registration, exactly as if it had taken the payment directly.
- Both AllSquads fees are GST-inclusive. The booking fee the player pays and the platform fee the club pays are AllSquads' own sales, and the published rates already include 10% GST — nothing extra is added on top. (So a 3% booking fee is ~2.73% ex-GST + ~0.27% GST.)
- Receipts show the GST component. The player's receipt shows the booking fee's GST portion (one-eleventh of the fee — e.g. a $2.50 booking fee shows "incl. $0.23 GST"), and the AllSquads ABN appears whenever the fee is large enough to need a tax invoice ($82.50 or more).
The full GST model, including the Stripe mechanics, is in the internal billing conventions if support needs to go deeper.
Where to find it
- Public marketing page: https://allsquads.com.au/pricing (also https://allsquads-v2.vercel.app/pricing on staging)
- In-app subscription management: Dashboard → Settings → Subscription
- Backend API:
GET /pricing/tiers(no auth, returns the entire matrix + founding member status)
Headline structure
Two consumer fee surfaces:
- Subscription — what coaches and clubs pay AllSquads each month for the platform
- Booking fee — what players pay at checkout (covers AllSquads + Stripe processing)
Booking fees (player pays at checkout)
Player-facing label: "Booking fee". The rate is set per class type (with per-club overrides possible) and is locked at booking time, so later rate changes never re-price a booking already made.
Current canonical rates by class type:
| Class type | Booking fee |
|---|---|
| group | 3% |
| social | 3% |
| camp | 2.5% |
| term | 2.2% |
| annual | 3% |
| private | 2.5% |
| court_hire | 3% |
| drop_in | 3% |
| subscription_payment (recurring weekly subscription instalment) | 3% |
Subscription instalments are charged at 3% per individual instalment (the subscription_payment rate), not the underlying term-class 2.2%. So a recurring weekly subscription based on a term class still attracts 3% on each weekly charge.
Minimum booking fee: every one-off booking fee is floored at 50¢ (GST-inclusive) — max(rate × price, 50¢). It only affects tickets under ~$17. It applies to one-off checkouts (including pack purchases and court hire), never to percent-billed recurring instalments, and a fully credit-covered booking still pays $0.
For full precedence rules, the runtime resolver, and the per-booking snapshot mechanics, see `docs/23-fees-model.md` §2.
Coach tiers
| Coach Free | Coach | Coach Pro | |
|---|---|---|---|
| Standard monthly | $0 | $79/mo | $119/mo |
| Standard annual (per-month display, billed yearly) | — | $66/mo ($790/yr) | $99/mo ($1,190/yr) |
| Founder monthly (first 100, locked) | — | $39/mo | $59/mo |
| Founder annual (per-month display, billed yearly) | — | $33/mo ($390/yr) | $49/mo ($590/yr) |
| Platform fee on bookings | 5% | 3% | 2.5% |
| Online bookings & payments | ✓ | ✓ | ✓ |
| Roster, attendance, calendar | ✓ | ✓ | ✓ |
| Contacts CRM, messaging, reviews | ✓ | ✓ | ✓ |
| Stripe Connect (direct payouts) | ✓ | ✓ | ✓ |
| Public profile | ✓ | ✓ | ✓ |
| Full analytics | — | ✓ | ✓ |
| Broadcast messaging, announcements | — | ✓ | ✓ |
| Transactional SMS | — | ✓ | ✓ |
| Court / facility hire | — | — | — |
| Pro Shop | — | — | ✓ |
| Team management | — | — | — |
| Venues | 1 | 1 | 1 |
| Dashboard agent messages/mo | 20 | 100 | 500 |
Club / business tiers
| Club Free | Club | Club Pro | |
|---|---|---|---|
| Standard monthly | $0 | $169/mo | $249/mo |
| Standard annual (per-month display, billed yearly) | — | $141/mo ($1,690/yr) | $208/mo ($2,490/yr) |
| Founder monthly (first 100, locked) | — | $89/mo | $149/mo |
| Founder annual (per-month display, billed yearly) | — | $74/mo ($890/yr) | $124/mo ($1,490/yr) |
| Platform fee on bookings | 5% | 2% | 1.5% |
| Online bookings & payments, Stripe Connect | ✓ | ✓ | ✓ |
| Roster, attendance, calendar, CRM, messaging, reviews | ✓ | ✓ | ✓ |
| Full analytics, broadcasts, announcements | — | ✓ | ✓ |
| Transactional SMS | — | ✓ | ✓ |
| Court / facility hire | — | ✓ | ✓ |
| Pro Shop | — | ✓ | ✓ |
| Team management, unlimited coaches | — | ✓ | ✓ |
| Multi-club switcher, cross-venue analytics | — | — | ✓ |
| Priority support, dedicated onboarding | — | — | ✓ |
| Extra / multiple venues | — | — | ✓ (unlimited) |
| Venues | 1 | 1 | Unlimited |
| Dashboard agent messages/mo | 20 | 500 | 1000 |
Annual rule: annual = pay 10 months upfront, billed yearly (~16.7% off vs monthly). The "/mo display" on the pricing page is annual_total ÷ 12. Same formula for Standard annual and Founder annual.Add-ons — removed
The add-on purchase model is gone. Features are included with a tier or not — see the matrices above. The only monetised purchase that remains is the Extra AI Messages top-up, a one-time credit-balance purchase available on every paid tier.
Legacy subscription_add_ons rows in the DB are preserved (Rule 29 forward-only), but new sign-ups can no longer attach add-ons and the marketing page no longer offers them.
Extra AI Messages top-up
| Bundle | Price | Availability |
|---|---|---|
| 500 messages | $25 (one-time) | Any paid tier (Coach, Coach Pro, Club, Club Pro) |
- Paid-tier accounts can buy the $25/500 bundle from the dashboard. Free tiers are gated out.
- Successful Stripe payment credits the account's
ai_message_balanceby 500. - AI messages consume the top-up balance first; the per-tier base allowance (20 / 100 / 500 / 1000 messages/mo) is unchanged.
- A smaller 100/$5 bundle may follow — not built at launch.
Founder member pricing
The first 100 paying sign-ups across all paid tiers (Coach, Coach Pro, Club, Club Pro) lock in the founder rate — free-tier sign-ups do NOT count toward the 100. Anyone signing up before 30 September 2026 while spots remain also qualifies, whichever comes first. Founder pricing is locked to the tier they signed up at:
- Stay on the same tier → keep founder pricing forever (monthly or annual).
- Upgrade or downgrade to a different tier → lose the founder discount, pay Standard on the new tier. (Same-tier monthly ⇄ annual flip keeps founder status.)
Once the 100 spots are taken (or the deadline passes), all new sign-ups get Standard pricing automatically. The Settings → Subscription page shows a "Founding member" badge for the locked accounts. The marketing /pricing page shows a live counter once ≥10 founders have claimed.
2-month free trial — launch offer
Every paid-tier sign-up (Coach, Coach Pro, Club, Club Pro) starts with a 2-calendar-month free trial with FULL tier access, including the paid tier's lower platform fee rate during the trial.
- Calendar-month rule: the trial ends on the same day-of-month two months after sign-up, clamped to the end of the month when that day doesn't exist (e.g. sign up 31 December → trial ends 28 February, or 29 Feb in a leap year).
- Card required to start — Stripe collects and saves a payment method at checkout (A$0 charged today); billing starts automatically on that card when the trial ends. The free profile (players) and the Coach Free / Club Free tiers never require a card — this requirement is for paid-tier trials only.
- At trial end:
- Payment method on file → billing starts automatically (first charge on the trial end date).
- Saved card removed before the trial ends, or cancelled during the trial → the account automatically moves to the matching free tier (Coach Free / Club Free — free features + 5% platform fee). No lockout; all data, classes and bookings are retained.
- Emails: sign-up confirmation with the trial end date, a reminder 7 days before trial end (upcoming charge vs downgrade, depending on payment method), and a conversion or downgrade notification when the trial resolves.
- One trial per organisation — re-subscribing after a downgrade starts billing immediately (no second trial). Tracked via
subscriptions.tier_trial_used. - Visibility: the org sees the trial status + end date on Dashboard → Settings → Subscription; platform admins see per-org trial status on /admin/clubs.
- Where the offer is promoted: the public /pricing page (trial callout, "2 months free, then $X/mo" on every paid tier, "Start free trial" CTAs), the /business landing page (launch-offer banner), the onboarding Connect Payments step, and in-dashboard upgrade prompts (Settings → Subscription trial card + feature-upsell nudges). Eligible orgs only — once
tier_trial_usedis set the surfaces fall back to standard upgrade CTAs. Trial length is read fromGET /pricing/tiers → tier_trial.calendar_months(single source:TIER_TRIAL_CALENDAR_MONTHS), never hardcoded per page. - Founder pricing and the trial stack: a founder sign-up trials free for 2 months, then bills at the founder rate.
In-app subscription management
Dashboard → Settings → Subscription shows:
- Current tier badge + status (Active / Free trial / Past due / Cancelled)
- Free-trial banner with the trial end date + what happens next
- Founding member badge if applicable
- Price for the current billing interval
- Platform fee % charged on bookings at this tier
- Next billing date
- AI message balance (top-up credits + per-tier base allowance) — paid tiers see a "Top up $25 for 500 messages" CTA
- "Upgrade plan" / "Change plan" CTA → /pricing
After you complete a plan change at Stripe: the page returns you here and shows one of three states, all read from your account's real subscription — never from the checkout redirect alone:
- "Finalising your plan change" (blue, with a spinner) — Stripe is confirming the change. This normally clears within a few seconds; the plan details refresh on their own, so there's no need to reload. Don't start a second checkout — that would create a second subscription.
- "Plan changed" (green) — your account is now on the new tier. The tier badge, the price, the platform fee % and your tier features on the card below all reflect it.
- "We couldn't confirm your plan change" (amber) — your payment went through at Stripe but your account is still on the previous plan, and the card below shows what you're actually billed on today. Contact support and we'll complete the switch; don't re-run the checkout.
The green confirmation can never appear for a tier your account isn't actually on — the banner and the plan card read the same source of truth.
"It asked me to create an account again": starting or changing a plan from /pricing never asks an existing customer to sign up. If a session drops mid-upgrade the member is sent to Sign in (returning them to where they were), never to the "Create your account" form — and a member whose browser has simply forgotten the cached profile (e.g. a second tab when "Stay signed in for 30 days" was unchecked) goes straight through to checkout, because the signed-in cookie is still valid. Only a genuinely signed-out visitor is offered account creation. If a customer reports being prompted to sign up after paying, treat it as a bug and capture the browser + exact step — it is not expected behaviour.
Stripe-side billing actions (upgrade modal with proration, downgrade-at-period-end, billing history, cancel) are planned and ship once Stripe products are registered.
How fees interact with credits
The booking fee is computed on the full class price — not on the post-credit cash portion. Credits draw down the gross total (class price + booking fee), drawing down the class price first and then the booking fee. The fee is waived only when the booking is fully credit-covered — i.e. when credits ≥ class price + booking fee and the player is charged $0. If any cash balance remains, the booking fee is charged once on that transaction. Booking fees are non-refundable: a credit issued on cancellation = class value only, never class + fee. Refunds claw back the cash slice without recovering the fees already applied. Credit issuance and redemption are recorded in the platform ledger.
Common support questions
Q. Can I switch from monthly to annual? A. Yes — pricing supports both intervals. Annual saves about 17% (2 months free). The switchover ships with a future upgrade modal.
Q. What happens to my tier if I cancel? A. The plan stays active until the end of the current billing period, then downgrades to the corresponding free tier (Coach Free / Club Free). Bookings, payments and history are retained.
Q. Do I have to be on a paid tier to use AllSquads? A. No. The free tiers cover the core flow: classes, online bookings, payments, Stripe Connect direct payouts, roster, attendance, calendar, contacts CRM, messaging, reviews, basic public profile. The paid tiers reduce the platform fee on bookings, unlock analytics, broadcasts, SMS, court hire, Pro Shop, team management and unlimited venues.
Q. Where does the platform fee come out? A. At payout time, from the booking. The fee is set by the connected club/coach's tier: Coach Free / Club Free = 5%, Coach = 3%, Coach Pro = 2.5%, Club = 2%, Club Pro = 1.5% (effective 2026-08-06).
Q. Is the booking fee separate from the platform fee? A. Yes — they're two distinct fees paid by different parties. The booking fee is paid by the player at checkout (one all-in fee covering AllSquads + Stripe processing) and is configured per class type. The platform fee is what AllSquads deducts at payout from the booking, and is set by the club or coach's subscription tier.
Q. Are credits charged a fee? A. The booking fee is computed on the full class price, and credits draw down the gross total (class price + booking fee). The booking fee is waived only when the booking is fully credit-covered ($0 charge); if any cash remains, the fee is charged once.