How it actually works — flows for players, clubs & coaches
The detailed journeys that make KOURT severely low-friction for every side. Each flow is designed against one test: the first action takes seconds, costs nothing, and needs no manual. Companion to /design (thesis) and /report (market norms).
The seven friction laws each flow obeys: WhatsApp is the front door · zero cost to start · local rails (TRY/iyzico/taksit/Turkish/KVKK) · one tap to value · the receptionist test · own-your-data by default · we do the migration.
Legend: player screenclub screencoach screen · friction-killer marks a deliberate barrier removal · green callouts = why this step stays effortless.
The shared spine — three entry points, one system
Three flows that every side touches. Designed once, reused everywhere.
A · WhatsApp-first entry (no install required)
Tap a linkFrom a club/coach WhatsApp or a friend's match invite
→
WhatsApp opensParla bot greets, confirms name + level Q
→
Act immediatelyJoin match / confirm booking inside chat
→
Soft nudge to app"Get reminders & your level" → install later
Friction killed: the first valuable action happens in an app the user already has open. Install is a reward, not a gate.
B · Identity & level (one profile, everywhere)
A single profile carries name, photo, 0–7 level, match history, friends, and wallet. The same level number the player sees is what a club uses to fill an Americano and a coach sees when a lesson is booked. Created once (onboarding questionnaire → starting level), refined by results, optionally verified by a coach (H6).
C · Pay & split (local rails)
Price shownYour share, upfront, in ₺
→
One tapApple Pay / saved card; taksit on packages
→
Auto-splitEach player charged their share; no-payers auto-charged later
→
Wallet/creditsRefunds instant to Parla wallet
Friction killed: no one fronts the whole court and chases friends on WhatsApp for money — the #1 social annoyance in padel, solved.
P1 · Player first touch & onboarding
Trigger: friend's invite link, club QR at court, or a coach's WhatsApp.
Open linkWhatsApp or web, no install
→
Name + phoneOTP via WhatsApp no password
→
3-Q level quizSets starting 0–7 level
→
First match suggestedOpen match near you, this week
→
DoneReminders opt-in via WhatsApp
Friction killed: sub-60-second signup, no password, lands on a concrete next match — not an empty home screen.
Edge cases: existing Parla club member → pre-filled profile & history imported; under-18 → guardian consent + hidden from public ranking (KVKK); duplicate phone → merge prompt.
P2 · Open match — the hero flow
The single most important journey. A player has a free slot and needs 1–3 players at their level. Two paths: create or join.
Create an open match
Pick club + timeAny Parla venue, real-time courts
→
Set level rangeDefaults to your level ±0.5
→
Friendly / CompetitiveCompetitive affects rating
→
PublishCourt soft-held; pay only your share now
→
Auto-fillNetwork fills slots; push on each join
→
Confirmed at 4Court locked; chat auto-created
1 · Discover
2 · Join + split pay
3 · Confirmed + access
Friction killed: publish in ~3 taps · pay only your share · the network finds the players (no group-chat begging) · QR door + auto-lights mean no front-desk dependency.
Edge cases: not filled by T-1h → auto-cancel + instant wallet refund + "try tomorrow" suggestion; a joiner cancels → slot re-opens, others notified; level dispute → competitive result still logged, reliability dampens it.
P3 · Book a private court
Club + dateGPS-sorted, real-time grid
→
Tap a slotPeak/off-peak price shown
→
Invite friendsOptional; split pay or pay all
→
Pay & doneQR + reminder; add to calendar
Edge cases: cancellation inside policy window → wallet refund; outside window → credit/forfeit per club rule; recurring weekly booking → one toggle.
P4 · Join an Americano night
See eventClub feed / WhatsApp / Parla discover
→
One-tap registerLevel-filtered; pay entry
→
Show up & playApp assigns pairings each round
→
Live leaderboardOn your phone + club big screen
→
Result → levelPoints feed rating + shareable card
Friction killed: no clipboard, no organizer doing math — pairings and scores are automatic; results flow into the player's level and a shareable recap for Instagram/WhatsApp.
P5 · Book a coach / lesson
Browse coachesBy club, level, price, reviews
→
Pick slotCoach's live availability
→
Private / group / clinicBuy single or package (taksit)
→
Pay & confirmedCourt auto-reserved with the lesson
Edge cases: package remaining sessions tracked; no-show policy enforced; coach proposes a level-up course after lessons (progression loop).
P6 · Level, profile & social
Level & reliability: 0–7, updates only after competitive matches; a confidence ring shows certainty (tightens with play). Player always sees why it moved.
History & stats: matches, win rate, best partner, venues played; Pro tier unlocks deeper analytics.
Social graph: follow friends, see their matches, invite to open matches in one tap — the lock-in layer.
Badges & streaks: milestones (10th match, first tournament) as lightweight recognition.
C1 · Club onboarding & migration we do it
Trigger: Parla rep signs a club (or an inbound from the /report-validated "free ops" pitch).
Hand over dataMembers list, schedule, prices (Excel/WhatsApp export)
→
We importParla migrates members, courts, packages
→
Staff 15-min setupAdd courts, hours, peak pricing
→
Go liveMembers invited via WhatsApp; bookings flow in
Friction killed: the club doesn't do the migration — Parla does. Switching cost to join ≈ zero; switching cost to leave grows from day one.
C2 · Daily operations (the calendar)
The screen the front desk lives in. Built to the receptionist test.
Live court gridAll courts, drag to block/move
→
Walk-in booking2 taps; cash or card/POS
→
Deposits autoKaparo on online bookings → fewer no-shows
→
Open-match fillEmpty slots auto-listed to the network
Friction killed: replaces the WhatsApp + paper-diary chaos with one screen; empty courts get auto-published to players instead of sitting idle.
Dynamic / off-peak pricing: rules by day-part; off-peak discounts surfaced to the player network to fill dead hours.
Network membership (Parla clubs): one membership valid across all Parla venues — the cross-venue moat, configurable per club.
C5 · CRM & WhatsApp comms
SegmentBy level, frequency, lapsed, package
→
One-tap blastWhatsApp/SMS/push to a segment
→
At-risk triggers3 weeks no booking → auto re-engage
→
Own the dataExport anytime; it's the club's
Friction killed: the club keeps its customer relationship and reaches members on the channel they actually read — WhatsApp — without a separate tool.
C6 · Multi-venue dashboard (Parla HQ)
The operator-of-operators view — Parla's native edge and the M&A instrument.
Consolidated KPIs: utilization, revenue, occupancy heatmaps across all venues, one screen.
Per-venue drill-down + benchmarking: spot the under-performer, the rising star.
Investor-grade financials: exportable, audit-ready — feeds the SRN cockpit/model directly.
Central admin / local autonomy (RBAC): HQ sets policy; each club runs its floor.
Strategic payoff: this view is what no racket-specific platform delivers and what turns the OS into an acquisition-targeting and valuation asset (see /design §6).
H1 · Coach onboarding free
Coaches are the most underserved side — today they run on cash + WhatsApp + memory. Onboarding gives them a free business in their pocket.
Invite from clubOr self-serve link
→
Profile + rateBio, levels taught, price, photos
→
Link payoutIBAN for payouts
→
ListedDiscoverable by the player network
Friction killed: zero cost, zero setup fee, and instant access to a clientele they could never reach alone — the reason coaches become evangelists.
H2 · Availability & getting booked
Set availabilityRecurring slots; sync court access
→
Player booksCourt auto-reserved with lesson
→
Auto-confirmReminders to both; calendar synced
→
TeachNo admin, no cash handling
Edge cases: coach blocks a slot; player reschedules within policy; group clinic with min/max headcount + waitlist.
H3 · Get paid & payouts
Paid on booking: player pays in-app; no chasing cash.
Automatic payouts: to the coach's IBAN on a schedule; transparent statement.
Packages with taksit: students buy 10-lesson packs; coach sees remaining + earnings.
Friction killed: the cash-and-memory economy disappears; the coach gets a clean, predictable income stream and a record for tax.
H4 · Student CRM & packages
Student roster: every student, level, history, package balance, notes — the CRM coaches have never had.
Progress tracking: log level progression; recommend the next course.
Player signalsBeginner joins, or low-level open match
→
Coach surfaced"Improve your game" → nearby coaches
→
Lesson bookedNew student acquired by the platform
Gravity: the platform actively generates students for the coach — the strongest possible reason never to leave it.
H6 · Level verification (coaches shape the rating)
Coaches can confirm or adjust a player's level after lessons. This makes ratings more trustworthy, gives coaches a stake in the system's integrity, and creates a soft authority role that binds them to the platform.
Open questions for the PRD
WhatsApp Business API limits vs. in-app push — where exactly is the line for transactional vs. marketing messages (KVKK opt-in)?
Court access hardware standard across venues (QR/PIN vendor) — one integration to pick.
Rating cold-start: self-declared + coach-verified until match volume justifies auto-ELO — define the switch-over threshold.
No-show / deposit policy defaults — set centrally or per club?
Coach take-rate vs. flat SaaS — model both against adoption (monetize density, never tax adoption).
MVP cut line: which of these flows are Phase 0 (owned clubs) vs Phase 1 — sequenced in the PRD next.