×

Every "book", "join" and "register" button on breakdownbasketball.com, followed to where it actually lands.
| System | What it holds | Notes |
|---|---|---|
| PerfectGym | Memberships, fortnightly billing, client portal login — and nothing else in the business | Gym system |
| Eventbrite | School-holiday camps, rep select camps — and the link in the Instagram bio | Ticketing, not a calendar |
| Calendly | Facility tours | URL still says month=2024-02 |
| Shopify | Merch | Raw .myshopify.com domain |
| Webflow forms | Private sessions · team training · 3x3 · pathways · birthday parties · school groups · corporate | Seven revenue lines, no prices |
| Instagram DM | Friday night pick-up. "DM to Book" is in the bio. | Not a system |
| The court | Nothing. No hourly rate, no availability, no calendar, no online booking. | The gap |
Sourced from breakdownbasketball.com and its outbound links, September 2026. The sprawl is the verdict. Nobody runs Eventbrite, Calendly, Shopify, six Webflow forms and an Instagram inbox alongside a system that fits. Every one of those is a thing PerfectGym could not hold — and the court is a thing none of them can.
Your own footer says open 7 days, 5am–1am. Your own contact page says the desk is staffed 9:30–2:00 and 5:30–9:00 on weekdays, 9:00–12:00 on weekends.
A typical weekday. The two unstaffed blocks either side of the working day — 5:00–9:30am and 9:00pm–1:00am — are exactly when adults train, teams book late, and shift workers shoot. They are also the hours a desk-based business can't sell.
There is no hourly rate on the site. No court-hire product. No availability calendar. The FAQ's answer to "can I use the court" is, in substance, call and check.
"Our main court is primarily used for private sessions, small group sessions and clinics. If the court is not in use, feel free to use it… we always advise you call and check availability."
That sentence is doing three jobs at once: it's a pricing policy, a booking system and a capacity check. It's none of those things.
Court 1 — $70/hr member, $90/hr casual. Pick an hour. Pay. The door opens for you at ten to.
One line, a calendar behind it, and 94 unstaffed hours a week become inventory instead of overhead.
Rates shown are illustrative — CourtPass doesn't set them, you do. They're used here only to make the arithmetic on slide 13 concrete.
"Private training is what we are primarily known for." — breakdownbasketball.com/about
The same is true of team training, the 3x3 program, the pathways program and the Performance Academy. Five products, all real, all sold by someone reading an enquiry and writing back.
@breakdown_basketball has the reach of a small media business. The link in the bio goes to a ticketing page that sells a school-holiday camp four times a year.
Bookable A camp, when one is running
Bookable A 3-month or 12-month membership contract
DM Friday night pick-up
Form A private session · a party · a school visit
Nothing An hour on the court
One tap An hour on the court, this Thursday, 6am
One tap A 60-minute private with Xavier, Tuesday 5pm
One tap A seat at Friday pick-up, capped at 20
One tap A birthday party block, deposit paid
One tap A camp — same as today, but in the same account as everything above
The gap between those two columns is the whole argument. It isn't a marketing problem — the audience already exists and already arrives. It's that there is nothing for them to press when they get there.
All three are on your events page. All three are a court block with a deposit. None of them has a price, a duration or a calendar.
"Contact us today to book your party." A parent shopping on a Sunday night wants a date, a price and a Pay button. They will book the venue that gives them one.
As a product 2-hour block · court + party room · $450 · $100 deposit
School sport, PE classes, skills sessions. "Contact us via email." A PE coordinator books a term of Wednesdays in one sitting, or not at all.
As a product Recurring weekly block · invoiced to the school · purchase-order friendly
Team building, staff wellness days, social comps. The highest-margin hour in the building, sold by email, in the hours the desk is closed.
As a product 2-hour block · after-hours rate · card or invoice
Prices shown are illustrative. The point isn't the number — it's that a product with a price and a calendar sells itself at 11pm, and a contact form waits for someone to open the inbox.
PerfectGym is built for 24-hour fitness clubs: one adult, one contract, one turnstile, access to a building. Every part of Breakdown that doesn't fit that sentence had to go somewhere else — which is why there are six somewhere-elses.
| What your business actually sells | Where it lives today |
|---|---|
| An hour on the court | Nowhere. No rate, no calendar, no booking. |
| Private sessions from 8 trainers Your own words: what you are primarily known for | A Webflow enquiry form |
| Term academies, ages 6–10 / 11–13 / 14+ | Not in PerfectGym — your own rules say 12+ to hold a membership |
| Families with two and three kids | "Each person is required to have their own individual membership." No sibling discount. |
| Camps | Eventbrite, with its own fee and its own login |
| Parties, schools, corporate | Three more enquiry forms, no prices |
| Teams, 3x3, AAU tours | Three more enquiry forms |
| A door a booking can open | Nowhere |
Two of those rows are not inconveniences, they are lost customers. Foundation Academy starts at 6 and a 6-year-old cannot hold a membership — so the cohort that becomes a ten-year customer sits outside the system that holds your revenue. And a parent with three kids meets a 12-month contract, a $60 setup fee and a $550 exit fee three times over, with no sibling discount, to buy one Saturday morning.
Not a bolt-on beside PerfectGym — a replacement for it, and for the five things that grew up around it because it didn't fit.
| Today | After | |
|---|---|---|
| PerfectGym Memberships, billing, contracts, portal | Native — and finally holding the rest of the business too: terms, families, camps, court time, trainers, the door | Replaced |
| Eventbrite Camps | Camps in the same account as everything else the family buys. No per-ticket fee, no second login. | Replaced |
| Calendly Tours | A tour is a booking, in the same calendar as the court. | Replaced |
| Webflow forms Seven revenue lines | Seven products with prices, calendars and Pay buttons. | Replaced |
| Instagram DM Friday pick-up | Capped RSVP. The DMs go back to being DMs. | Replaced |
| Nothing The court | Hourly and casual hire, 5am–1am, member and casual rates, door opens on the booking. | New |
| Shopify Merch | Stays. Merch is merch. | Untouched |
| Webflow site | Stays. The Book buttons change where they point. No redesign. | Untouched |
Six logins become one. Six bills become one. And the two rows nobody is asking you to touch are the two that were actually working.
This is the part that makes 94 unstaffed hours sellable instead of risky. It is also the part nothing else in your stack can do.
Member picks Thursday 6:00–7:00am in the app and pays. The hour is held.
The booking issues a credential scoped to that door and that hour — live from 5:50, dead at 7:10.
They tap Unlock in the app at the door. No fob to hand over, nothing to collect, nobody to call.
The entry is recorded against the booking and the person. You can answer "who was in the building at 6am" the next morning.
Shared codes that never change. Fobs handed out and never returned. Somebody driving to Prestons at 5:30am to let a team in. And the thing nobody says out loud — an open building with no record of who was in it.
Every hour between 5am and 1am becomes a product. The trainer's 6am private, the team's 9:30pm block, the shift worker's Sunday morning — all sold, all paid, all logged, with the desk closed.
There is no access hardware in Jedda Road today. CourtPass drives commercial access controllers — the Inception and UniFi Access families among them — and the install is a one-off line item, quoted after a site visit. Nothing on this slide is running at Prestons; it's what the install buys.
Native iOS and Android apps, plus a web portal for anyone who won't install anything. Your branding, your rates, your rules.
Pick a day, see what's actually free across 5am–1am, pay at the member rate. Recurring blocks for teams who want the same slot every week.
Choose a trainer, see their real availability, pay the deposit. Rebook the same slot in two taps.
Unlock appears only inside the booking window, only for that door. Tap, in, logged.
Friday night capped at 20, free for members, $10 casual. RSVP replaces the DM thread, and the list is on the coach's phone.
One parent, several kids, one payment method, one history — memberships, camps, privates and court time. A sibling rate becomes possible for the first time.
Automatic SMS and email before every booking, and on every cancellation. Fewer no-shows without anyone chasing.
Walk through it: Member app demo in the kit index.
Every block on the court — privates, classes, casual hire, parties, school groups — in one timeline, with the staffed window drawn on it so you can see what's selling when nobody's there.
Who may book unstaffed hours. Minimum age at the door. Maximum party size. How far ahead casual hire opens. Membership tier decides the rate. Set once; the system holds the line at 5am.
Eight trainers, eight calendars, and a register of WWCC and first-aid expiry dates that warns you before one lapses rather than after.
Memberships, court hire, privates, camps, parties and deposits all settle to your own Stripe account, with refunds and cancellation fees applied by your policy rather than from memory. One bill to reconcile, not six.
Every unlock, who, when, against which booking. Plus who is in the building right now.
Utilisation by hour of day. Which unstaffed hours actually sell. What a party is worth against a private. Revenue per court hour — the number you currently can't see.
Walk through it: Admin console demo in the kit index.
94 open, unstaffed hours a week. Nobody sells all of them. Here is what happens if you sell a few, at an illustrative $70/hour.
| Hours sold per week | Share of the 94 | Per week | Per year |
|---|---|---|---|
| 8 — roughly one a day | 9% | $560 | $29,120 |
| 16 — two a day | 17% | $1,120 | $58,240 |
| 24 — three a day | 26% | $1,680 | $87,360 |
Everything above the platform price is illustrative arithmetic, not a forecast — $70/hr is our number, not yours, and the fill rates are deliberately low. Parties, school terms, corporate blocks and trainer deposits are all excluded. The $249 + $99/site is CourtPass's actual published price; card processing is Stripe's standard rate, charged to you or passed to the member as you choose. Access hardware is separate and quoted after a site visit. ⚠️ We cannot finish the savings column without your PerfectGym invoice — their pricing isn't published, so bring it and we'll put a real number against the $4,176 rather than a flattering guess.
Walk Jedda Road, quote the door. Pull the full member export out of PerfectGym: tiers, start dates, remaining contract terms, next billing dates.
Members, tiers and contracts imported with their remaining terms intact. Your court, rate card, eight trainers, term academies, camps. Stripe connected to your account.
Controller and reader on the entry door. Members re-enter payment once, in the new app, from a link.
Both systems live for one billing cycle. When the numbers reconcile, PerfectGym is cancelled — not before.
Direct-debit mandates do not move by copying a spreadsheet. Depending on what PerfectGym's processor supports, either the card and mandate data transfers between processors, or every member re-authorises once. We plan for the second and treat the first as upside. It is one tap in the app, prompted, with a deadline — but it is a real ask of 100% of your members and any pitch that doesn't say so is selling you something.
It is also the one moment you get to fix the contract shape — add a sibling rate, open membership below 12, put families on one account — while everyone is re-entering details anyway. Doing it later means asking twice.
And time the cutover to your own PerfectGym renewal. We don't know your term with them; you do. Nothing here needs to start before that date is in sight.
Members' existing 12-month commitments are honoured, not restarted — remaining term and next billing date come across with them. Nobody's contract gets longer because you changed software.
| Question | Answer |
|---|---|
| Is this replacing PerfectGym? | Yes. Memberships, tiers, contracts, billing and the member portal all move across, and so do the five things that only exist because PerfectGym couldn't hold them. Shopify and your Webflow site stay. |
| What about members mid-contract? | Remaining term and next billing date come across with them. Nobody's 12-month commitment restarts and nobody is released early unless you decide to release them. |
| What's the riskiest part? | Payment re-authorisation — see the previous slide. Every member re-enters payment once unless their mandate can be transferred between processors. We run both systems in parallel for a full billing cycle before anything is cancelled. |
| Is the access system already installed anywhere? | The controller integrations are built and shipped. Nothing is installed at Prestons — that's the week-4 line item, quoted after the site visit. |
| Are these your real numbers? | No. Everything in the two demos is invented, and the model on slide 13 is arithmetic on your published opening hours at a rate we made up. Your figures replace ours before anyone signs anything. |
| Who holds the money? | You do. Payments go to your Stripe account directly — including memberships, once they move. CourtPass never sits in the middle of your takings, which is more than can be said for a system that bills through its own rail. |
| What happens to my Webflow site? | It stays. The "Book" buttons change where they point. Nothing about the look changes unless you want it to. |
| What if the internet drops at 5am? | The door controller holds its own schedule and credentials locally. A dropped link means the log catches up late, not that a member is standing in the carpark. |
An hour at Jedda Road. We look at the entry, the network and the court, and you get a fixed install quote, a rate card you can argue with, and a real side-by-side against what PerfectGym costs you — before you commit to anything. Bring the PerfectGym invoice and your renewal date.
94 hours a week, the building is open and the court cannot be bought. That's the whole opportunity.
Put a price and a calendar on the court. Then bring the other five systems in behind it, PerfectGym included.
The booking opens the door. Without that, unstaffed hours stay unsellable.