Dynamic message goes here.
Manage club tournaments, view brackets, and schedule matches.
Loading tournaments...
View registered players and manage tournament settings.
Select all players from the master list to register.
We hope you had a great day on the courts. Please join us for our next social day.
Just a friendly reminder to please settle your tuck shop account before you leave.
We hope you had a great day on the courts. Please join us for our next social day.
Just a friendly reminder to please settle your tuck shop account before you leave.
Statistics reflect all matches during the selected period.
Do you want your results to be included in the Player Statistics Leaderboard?
Badge description goes here.
Club Management and the local municipality cannot be held responsible for any injury, theft of personal items, or damage to or theft of motor vehicles.
Use at own risk: All City parks and facilities are used at your own risk.
Rules must be followed: All rules must be obeyed, and any reasonable request by an official on duty must be complied with.
Misbehavior consequences: Misbehavior can result in offenders being barred from facilities.
Adjust the parameters for the balanced game suggestion.
The "Suggest Game" (💡) button uses a quota system to determine the two most appropriate gender options for the day, allowing you to toggle between them before selecting a court.
When calculating a cache option (e.g., the 'Mixed' game), the system follows this order:
Live game analysis based on your slider settings.
Loading stats...
Loading stats...
Daily setup and closing tasks.
Select a date to view the checklist status for that day.
Checklist status as recorded on .
Adjust font and display sizes for better readability.
Adjust text size across the application.
Adjust overall interface scale.
Split the app across two screens (Courts on one, Players on another).
Log of all administrative changes to the player queue.
Use the arrows to change the player queue order. The player at the top is first in line.
Select 2 players for Team 1.
The rest will be Team 2.
Are you sure?
Click on a member to check them in...
Click on a guest to check them in.
Click on a player to check them out.
Select the intended purpose for this court.
Pick the mode the players actually used. The original court mode is preserved for the next game.
Choose the scoring rules for this match. Team selection comes next.
Select a court with an active game.
RealFeel® 13°
RealFeel Shade™ 13°
Cloudy
Select a player from Court X to swap with:
Configure club fees and lighting rates.
Clears and rewrites the 📋 Member Roster tab from the current database. Run this after bulk imports, duplicate removals, or membership changes.
Per-club one-way sync to Google Contacts. Caller ID, group emails, and your committee phonebook stay in lockstep with the Mzansi DB.
sk_live_).
wh_) and paste it below.
Configure your club's Yoco API credentials. Keys are AES-256 encrypted before storage and cannot be retrieved — only replaced.
sk_live_ or sk_test_.
Used for monthly / quarterly membership debits. Find these under Settings › Integration in your PayFast dashboard. Sandbox uses test credentials — leave Live mode off until ready.
Prefix applied to every payment reference — appears on bank statements, Sheet ledgers, and the PayFast / Yoco dashboards. Keep it short (2–8 letters/digits) so the bank-statement line stays readable.
ETC → ETC-MBR-171 Sin-Mon on the receipt.
Recent actions from this session. Select an action to undo (requires PIN).
RealFeel® 27°
RealFeel Shade™ 23°
A thunderstorm this morning; otherwise, clouds and sun
Please select the member responsible for this ball sign-out.
A log of all ball stock additions, returns, and sign-outs.
Enter the TRUE physically counted stock.
Is the customer purchasing a can of new balls or a single old ball?
Identify the member or guest purchasing the ball(s).
Configure alert sounds and notification behavior.
Automatically reduces the time between notifications when fast play is activated.
Silences YouTube, Spotify and any other audible Chrome tab while a match announcement plays — then restores them automatically.
Preview or choose a default notification tone.
Please select the children who are present today.
Please select the children you wish to remove from this parent's profile.
Select 2 (Singles) or 4 (Doubles) players who participated in the match.
Select a player who has already checked out or is a returning guest.
Who is going to take over from Member
Name?
Please inform them before heading to court.
You cannot resume yet. Please wait for the cooldown to end.
Time remaining:
10:00
Create scrolling messages for the header. Check the box to also announce them with Text-to-Speech (TTS).
This list shows the calculated scores used for the game suggestion feature.
View, edit, or create new events. Use the toggle to control screensaver visibility.
Configure global and court-specific Shelly settings.
Configure global and gate-specific Shelly settings.
Select a committee member to reset their password.
Enter admin PIN to reset password for:
Manage committee member accounts and roles.
Select a club member to add to the committee.
Choose a committee role and optionally add an email address.
Select a member to remove from the committee.
Select a member to edit their details.
Configure default match mode and fast play settings.
Select a system component to reset.
All actions require admin PIN verification.
Download data for backup or analysis
⚠️ Importing will overwrite existing data
Restore complete system state from state.json backup
Update club members from CSV (name, gender, type)
Restore everything from ZIP backup file
Could not connect to the server. The app will automatically retry.
This action will:
ℹ️ Your app state and member data will be preserved
Loading…
Choose your preferred keyboard input method.
Select which keyboard to use for text input.
Are you sure you want to proceed?
Are you playing today or just present?
Are you leaving or switching to non-playing duty?
Loading templates...
Loading polls...
Link specific WhatsApp groups to categories.
Loading groups...
Enter the exact name of the group where you added the Global Number.
Briefly describe what you want to announce. The AI will write a professional WhatsApp message for you.
Define how the AI should write messages for each category. These prompts control tone, format, and style.
Upload and manage images stored in the database for automated messaging.
Choose how players are ordered when returning to the queue after a game.
Players return based on who checked in earliest today.
Players return based on their queue position BEFORE the game started.
Players return based on who has played LESS court time today.
Select a member to view and edit their details.
A temp-password email will be sent so the member can log in to the portal. Membership status starts as Pending Payment.
If the member forgot their portal password, you can reset it to the club default. They will be forced to change it on their next login.
Remove or replace a member's profile photo if it violates club policy. Requires super-admin PIN.
Select a guest to view and edit their details.
Tap the dates below that Player CANNOT play.
Recommended: 800x300 PNG/JPG
Please set a new password for your account.
Please select the committee member currently on duty.
Tap dates to exclude them from streak calculations.
Exempt
No
Activity
Members are considered "active" if they attended within this many days. This affects Social Butterfly and Gladiator badge requirements.
Exclude specific weeks from streak calculations. Tap dates below to toggle exemption status.
Club Information
* Required fields
Club Logo
📋 Instructions:
Current Logo Preview:
Security PINs
(e.g., "1234" becomes "123424" on the 24th of the month)
ℹ️ This PIN allows committee members to access club functions and settings.
⚠️ This PIN allows system reset and advanced admin functions.
(No rolling suffix for security)
⚠️ Keep these PINs secure!
Review & Confirm
Where would you like to go?
Automatically send AI-generated session summaries to WhatsApp groups
Review the message before sending to WhatsApp groups
Stats have already been sent for today. Sending again will create a duplicate message.
Upload an Excel file (.xlsx) to bulk import or update members.
Category for ball usage.
Visiting committee members can authorize access to their club's member list here.
Select members to check in.
Drag to center the face in the circle.
What would you like to do?