Courtio - {{ selectedClubName }} Dashboard
📅

Bookings

Coming soon

Payments

Payment history for your club.

Total: {{ paymentsTotal }}

Loading...

No payments found.

Date Court Player Amount Type Marked by Paid at
{{ formatDate(p.bookingDate) }} {{ p.courtName }} {{ p.playerFirstName }} {{ p.playerLastName }} {{ p.amount ? (p.amount / 100).toFixed(2) + ' ' + (p.currency || '').toUpperCase() : '—' }} Refund Paid Manual {{ p.markerFirstName ? p.markerFirstName + ' ' + p.markerLastName : '—' }} {{ formatDate(p.paidAt) }}

Players

Players who have bookings at your club.

{{ playersTotal }} player{{ playersTotal !== 1 ? 's' : '' }}

Edit Player

WhatsApp
{{ playerSaveMsg }}
{{ playerSaveError }}

Loading...

{{ playersSearch ? 'No players match your search.' : 'No players found.' }}

Player {{ sortArrow('name') }} Phone Level Points {{ sortArrow('points') }} Type Matches {{ sortArrow('matchCount') }} Last Active {{ sortArrow('lastPlayed') }}
{{ (p.firstName?.[0] || '') + (p.lastName?.[0] || '') }}
{{ p.firstName }} {{ p.lastName }}
{{ p.gender === 0 ? 'Male' : 'Female' }}
{{ p.phone || '—' }} {{ Math.floor(p.points / 100) + 1 }} {{ p.points }} {{ playerTypeName(p.type) }} {{ p.matchCount }} {{ formatDateShort(p.lastPlayed) }}
Page {{ playersPage }} of {{ playersTotalPages }}

Club Details

Edit your club information and manage courts.

Loading...

{{ clubSaveMsg }}
{{ clubSaveError }}

Courts

{{ court.name }}
No courts added yet.

Club Prices

Manage court pricing rules.

{{ editingTierKey ? 'Edit Price Tier' : 'Add Price Tier' }}

{{ clubCurrency }}
{{ priceTierError }}
{{ priceTierSuccess }}

Loading...

No prices configured yet.

Courts Days Hours Price / 30 min Price / hour
{{ g.courtIds.map(id => courtName(id)).join(', ') }} {{ g.days.map(d => dayName(d)).join(', ') }} {{ formatHour(g.startHour) }} - {{ formatHour(g.endHour) }} {{ (g.price / 100).toFixed(2) }} {{ clubCurrency }} {{ (g.price * 2 / 100).toFixed(2) }} {{ clubCurrency }}

Stripe Connect

Connect your club to Stripe to accept online payments.

Loading...

💳

No Stripe account connected

Connect a Stripe account to start accepting online payments for bookings.

Account Status

Account ID {{ stripeStatus.stripeAccountId }}
Account Type {{ stripeStatus.accountType }}
Charges Enabled {{ stripeStatus.chargesEnabled ? 'Yes' : 'No' }}
Payouts Enabled {{ stripeStatus.payoutsEnabled ? 'Yes' : 'No' }}
Details Submitted {{ stripeStatus.detailsSubmitted ? 'Yes' : 'No' }}
Pending Requirements {{ stripeStatus.requirements.currently_due.length }} remaining
{{ stripeError }}

Send Push Notification

Send a push notification to players at this club.

Filter Recipients

{{ p.firstName }} {{ p.lastName }} Lvl {{ Math.floor(p.points / 100) }}
{{ notifSelectedPlayer.firstName }} {{ notifSelectedPlayer.lastName }} ×

Notification Content

{{ notifSuccess }}
{{ notifError }}

Users

Manage who has access to this club's backoffice.

Invite User

{{ inviteSuccess }}
{{ inviteError }}

Loading...

No users found.

Name Email Role
{{ u.name }} {{ u.email }} {{ u.role }} (you)