Replacing 4–6 tools (and 12+ spreadsheets) for racquet clubs nationwide. See plans →
  EVERY MODULE, EXPLAINED

Eight modules. One platform.
Built for racquet clubs, line by line.

We replaced four tools and a clipboard. Each section below shows a real piece of the product, links to the modules it talks to, and ends with a way to see it in action.

01Member experience

Self-serve check-in

Members tap a QR. Your front desk gets back to selling.

Every member has a unique QR in their email and the member app. They scan at the kiosk, the credit deducts (or the lesson confirms), and the front desk only gets pulled in when something's actually wrong. It's the single biggest hour-saver we ship.

  • 3-second average check-in
    Tested across our 240+ live clubs. Slower than that, we get on a call.
  • Works on iPad or any tablet
    Bring your own hardware or buy our $189 kiosk bundle.
  • Walk-in flow with payment
    Guests pay at the kiosk via Stripe Terminal — no front-desk handoff.
  • Cross-links to credits, packages, lessons
    Members on a 10-pack? We deduct. Member of the league? We log attendance.
Member kiosk
Live
Welcome back
Maya Chen
Booking: Court 1 · 9:00–10:30
Credits: 8 of 12
QR scanner active·Avg 3.2s
Who's on-site
27 members on courts
↑ 12% vs. avg
Maya Chen
Court 1
creditJust now
Rohit Patel
Court 2
credit2m ago
League: Saturday A
Court 3
league8m ago
Coach Sam (lesson)
Court 2
lesson12m ago
Walk-in (paid $14)
Open play
guest18m ago
// checkin previewv4.12
02Operations

Court calendar

Drag-and-drop bookings across every court — without the double-book gremlin.

One view of every court, every minute, every booking. Drag to reschedule. Resize to extend. Color-coded by type — rentals, classes, leagues, lessons, blocks, open play. Conflicts get caught at booking-time, not at 7am Saturday when two members show up for one court.

  • Day, week, month, court-grid views
    Operators live in week. Members pick the day they want.
  • Recurring bookings & blocks
    Maintenance windows, league nights, coach availability — all repeat-friendly.
  • Public booking widget
    Embed on your existing site or use ours. Members pay or use credits in the same flow.
  • Waitlist with auto-promote
    Cancellation? The next member on the waitlist gets the slot at 9:01am.
Court calendar
Saturday, May 16
KQuick book
Court calendar preview — Saturday May 168a9a10a11a12p1p2p3p4p5p6p7pCourt 1Court 2Court 3Court 4 (Indoor)M. Chen + 1Adult DrillsOpen PlayJunior Acad.R. PatelLeague NightL. Kim + 3Coach SamRound RobinAvailableT. ReyesBlock (maint.)K. DavisAdv. ClinicGlow Pickle
RentalClassLeagueLessonOpen playBlock
// calendar previewv4.12
03Revenue

Packages & credits

Sell 10-packs and memberships — credits deduct on check-in, oldest first.

The credit math your operators were doing in their head. Sell single-session, multi-session, monthly, or annual. Credits expire on a schedule you set. We deduct oldest credits first — "first in, first out" — so members never get burned by a forgotten expiration. Refunds, transfers, family-shares: all in one place.

  • Multi-session packs (5/10/20 sessions)
    Set per-pack pricing, expiration, and which class types they unlock.
  • Monthly memberships with auto-renew
    Pause, transfer, or refund without a Stripe dashboard side-quest.
  • Family & corporate accounts
    Shared credit pools, separate logins, one invoice.
  • FIFO credit usage (oldest first)
    Members spend the credits closest to expiring. They thank you for it.
Active packages
P
Pickleball 10-pack
Expires 90d
$180
142 sold
T
Tennis Unlimited
Auto-renew
$220/mo
86 sold
P
Padel Drop-in
Single-use
$24
41 sold
J
Junior Academy
Term
$320
28 sold
Maya's wallet
8 of 12 credits
Oldest credit expires in 6 days
FIFO usage log
Apr 18Court 1−1
Apr 14Court 2−1
Apr 09Open play−1
// packages previewv4.12
04Programs

Court rentals & open play

Hourly rates, peak pricing, member-only windows. Walk-ins pay; everyone else just shows up.

The variable pricing your spreadsheet was almost handling. Off-peak versus peak, member versus guest, hour versus hour-and-a-half. Block off member-only windows so courts are protected when it matters. Open play with capacity caps so the 6pm pickleball jam doesn't overflow.

  • Tiered pricing by hour, day, member tier
    Define once. Apply across all courts or per-court.
  • Member-only windows
    Lock 6–9pm to members on the gold tier. We refund any guest who books accidentally.
  • Open play with capacity caps
    Set the cap per session. Members reserve a slot, not a court.
  • Group rentals & private events
    Birthday party on Court 4? Block it, charge it, get the deposit.
Pricing rules — Pickleball
6:00aOff-peak$18/hr
9:00aPeakPeak$32/hr
12:00pMidday$24/hr
6:00pPrimePeak$38/hr
8:00pMember-onlyMembers
Open play — Saturday 6pm
14 / 16 spots
Waitlist: 3 members — auto-promoted on cancel.
// rentals previewv4.12
05Member experience

Member CRM

One profile per member. Everything they've done, owe, and asked for — in one keystroke.

The thing your front desk has been writing on Post-it notes. Bookings, attendance, credits, payments, notes, family connections, allergy flags, billing issues — searchable, sortable, exportable. With a member-facing profile they actually maintain, because we made it the place they book courts.

  • Universal search (⌘K from any screen)
    Find any member, any booking, any payment in two keystrokes.
  • Notes, tags & flags
    "Refund pending", "VIP", "Asked about leagues". Filterable from Reports.
  • Member-app self-service
    Update card, change email, see credits. They self-serve, you don't get a ticket.
  • Full history export
    CSV, JSON, or live to your warehouse via API.
KSearch 1,284 members, bookings, payments…
MemberPlanTagsStatus
MCMaya Chen
10-pack · 8 leftVIPActive
RPRohit Patel
Tennis UnlimitedLeagueActive
LKLia Kim
Drop-inLapsed
TRTheo Reyes
Junior AcademyCoach req.Active
KDKara Davis
Pickleball 10-packActive
// crm previewv4.12
06Revenue

Point of sale

Sell paddles, restrings, drinks, drop-ins. Inventory updates as you ring.

The on-site retail your operators were running through Square in a separate browser tab. Stripe Terminal-ready. Inventory by product or by category, with low-stock alerts. Tied to the same member profiles, so a $90 paddle goes on Maya's tab and shows up in her receipts and your sales reports.

  • Stripe Terminal integration
    Tap-to-pay on iPhone or our $89 reader. No separate POS hardware.
  • Member tabs & house accounts
    "Put it on my account" — settled at month-end with one click.
  • Inventory with categories & low-stock alerts
    Email when restring inventory drops below 10. Re-order from the alert.
  • Itemized receipts emailed automatically
    Members get receipts. You get clean accounting. Stripe gets nothing extra.
Cart · Maya Chen
Selkirk Vanguard Paddle×1$169.00
Drop-in court fee×1$14.00
Lemon-lime Gatorade×2$3.50
Subtotal$190.00House account−$3.50Total$186.50
Inventory alerts
Selkirk VanguardStock 8
Wilson Kaos restringStock 4
Gatorade lemon-limeStock 32
Babolat overgripStock 2
// pos previewv4.12
07Member experience

Targeted email & SMS

24-hour reminders, league announcements, waitlist offers — no Mailchimp logins.

The communications layer your other tools were leaving you to glue together. Automated reminders 24 and 2 hours before a booking, no-show fees triggered after a window, league-night announcements to a saved segment, broadcast SMS for a court closure. With branding that matches your facility, not ours.

  • Triggered automations (book, cancel, no-show)
    Each event has its own template. Customize once, runs forever.
  • Audience segments
    "Members who haven't booked in 30 days". One-click win-back campaign.
  • Branded sender domain
    Emails come from courts@yourclub.com. Two DNS records, done.
  • SMS with delivery + opt-out compliance
    TCPA-aware. We block sends to opted-out members and log everything.
Active automations
Booking confirmation
Triggered: court booked
1,284
sent / 30d
24-hr reminder
Triggered: 24h before
986
sent / 30d
No-show fee notice
Triggered: 15min after
34
sent / 30d
Win-back: 30 days
Audience: lapsed members
142
sent / 30d
Preview · 24-hr reminder
From: courts@yourclub.com
Maya, see you tomorrow at 9am

Court 1 · 9:00–10:30. Bring water and a towel — and your QR for check-in.

// comms previewv4.12
08Operations

Reports & insight

Court utilization, revenue per hour, churn cohorts, refund leakage. Exportable.

The reporting your CFO has been begging for. Pre-built dashboards for utilization, revenue, member growth, and churn. A flexible "explore" view to slice by court, member tier, league, or program. Exports to CSV, scheduled emails, and an API for the operators who pipe it into their own warehouse.

  • Utilization heatmap
    Which hours on which courts are paying for the lights. Which aren't.
  • Revenue by program
    Leagues vs. open play vs. lessons vs. retail. Settle the never-ending debate.
  • Cohort churn analysis
    Members who joined in March — how many are still here in September?
  • CSV export & email schedule
    Set it once. The owner gets Monday morning revenue numbers, automatically.
This week
Revenue
$18,420
+14%
Court hours
412
+6%
Active members
1,284
+22
Bookings per day
Last 14 days · all courts
Avg 40 / day
Bookings per day, last 14 days, all courts
Today's worklist
Auto-prioritized
⚠︎3 expired packages — auto-renew?Revenue
Glow Pickle league: 2 spots openPrograms
Court 4 maintenance @ 11pmOps
$Stripe payout $4,210 clearedFinance
47 check-ins so far today
// reports previewv4.12
●  Get started

Run your courts on one platform.

Book a 15-minute demo. We'll show you the calendar, the kiosk, and the dashboard with a copy of your real schedule loaded in.

● No credit card● Cancel anytime● Free migration
// What you'll see in 15 min
  • Your real court calendar, dragged in
  • QR kiosk on your facility's network
  • Package + credit math, end-to-end
  • An honest answer on price
Features | Facility Presence