Too many failed attempts.
Please try again in 15:00
Venue Portal
Loading…
Members
Pending Approval
Sessions
Open Polls
Saved This Week
Total Time Saved
Play Me Requests
Box Leagues
Ladder Leagues
Coaches
Active Sessions
Venue Details

Update your club's contact information and court access details.

Link to your court booking system — shown to members in the app.
Shown on members' digital membership card.
📅 Sessions & Live Polls
Loading…
⚙️ Automation

Holiday Mode

Pause all automated messages and poll creation for this venue

⚠️ Holiday mode is active — all automated polls and messages are paused

Use the toggles on each session row above to pause automation for individual sessions.

🎾 Play Me

Allow any approved member to post a pickup match request (singles or doubles) visible to all venue members.

Enable Play Me

Members can post "Play Me" requests in the app

📈 Activity & Engagement
This Week This Month This Year
Loading…
Engagement Summary
Most Engaged
Inactive Members
🏅 Competitive Play

Engagement across Play Me, box leagues, and ladder leagues.

Loading…
🎯 Player Ratings

Computed from match wins, decayed points, and ladder results. Higher score = stronger performance relative to declared level.

# Player Declared Rating Auto-Band Status
Loading…
📊 Performance Stats
Avg Capacity Fill
Avg Response Rate
# Session Polls run Fill % Response %
Loading…
👥 All Members
Loading…
👤 Pending Member Approvals
No pending approvals
➕ Add Member

Add a new member directly to your club. They will be approved immediately and sent a welcome email with details of available sessions.

🔐 Login Security

Enhanced login required

Members must verify a one-time code sent to their email when signing in, instead of their phone number

👮 Venue Administrators

Up to 3 additional members can be granted admin access to this portal. They share the same rights as the primary admin.

Grant Admin Access
📢 Announcements

Post club notices to all members. They'll see a notification bell 🔔 in the app.

History
Loading…
⏳ Pending Coach Applications

Review and approve or reject members who have applied to be listed as a coach at your venue.

Loading…
✅ Approved Coaches

Coaches currently listed in the member app directory. You can revoke access at any time.

Loading…
📦 Box Leagues

Create and manage LTA-format round-robin box leagues for your venue. Players are grouped into boxes and arrange matches between themselves by a set deadline.

Loading…
✅ Already Shipped

Features live and available in your portal today.

📅
Session Polls
Automated weekly polls sent via WhatsApp, SMS, or email. Members RSVP, the system closes the poll and notifies the session lead.
Shipped
📲
Multi-channel Notifications
Per-member communication preferences — WhatsApp, SMS, or email. Automated reminders and follow-ups.
Shipped
⚙️
Automation Engine
Per-session toggles. Holiday mode pauses all automations venue-wide. Cron-based scheduling.
Shipped
🏅
Leaderboard & Points
Decaying points awarded for match wins. Ranked leaderboard filterable by standard and session.
Shipped
🪜
Ladder Leagues
Admin creates a league; players challenge each other within a configurable gap. Auto-forfeit after a deadline. Win updates positions.
Shipped
🎾
Play Me Requests
Members post informal pickup match requests (singles or doubles). Others join with one tap. No poll, no automation.
Shipped
🎯
Player Ratings
Computed rating (500–1800) per player derived from match wins, decayed points, and ladder results. Auto-suggests standard adjustments.
Shipped
📈
Activity & Engagement Analytics
Sessions played, hours of tennis, confirmation counts — by week, month, and year. Response rates, most engaged and inactive members.
Shipped
📊
Performance Stats
Per-session capacity fill % and response rate. Venue-level averages. Ranked session table.
Shipped
👤
Member Management
Approve or reject new members. Add members directly. Manage player standard.
Shipped
📢
Announcement Board
Post club notices visible to all members when they open the app. Members see a notification bell with an unread badge.
Shipped
🔜 Coming Soon

These features are confirmed priorities and actively being built.

📆
Automation Schedule
See exactly when polls will be created, reminders sent, and sessions closed — up to 4 weeks ahead. Spot conflicts and plan around holidays before they happen.
Coming Soon
📣
Quick Broadcast
Send a one-off message to all members of a session (or the whole venue) via their preferred channel — WhatsApp, SMS, or email. For urgent or ad-hoc communications.
Coming Soon
🚨
Session Health Alerts
Automatic notifications when a session consistently underperforms — low fill rates, declining response rates, or sudden member drop-offs. Catch problems early.
Coming Soon
📥
Export Data
Download your player list, session attendance history, and poll results as a CSV for reporting, sharing with your committee, or backup. No lock-in.
Coming Soon
💬
Communications Log
A full history of every automated message sent — poll opens, reminders, closures — with per-player delivery status for WhatsApp, SMS, and email.
Coming Soon
💡 Future Ideas

Under active consideration — not yet committed to a timeline.

Waiting List
When a session is full, members join a waiting list. If someone withdraws, the next person is automatically notified and given a window to confirm.
Future Idea
🚫
Session Exceptions & Cancellations
Mark specific dates of a recurring session as cancelled — bank holidays, court maintenance, bad weather. Automation skips that date and sends a cancellation notice.
Future Idea
🎾
Score Card — Full Set Results
Record actual set scores (e.g. 6–3, 7–5) rather than just win/loss. Unlocks head-to-head records, set margins, and a more nuanced Player Rating.
Future Idea
🏆
Tournament Bracket
Run a knockout or round-robin tournament within your venue. Admin sets the draw, seeds players by rating. Bracket auto-updates as results come in.
Future Idea
👥
Guest Player Support
Members invite a non-member guest to a single session, subject to admin limits. Guests receive a one-time session link. No full account required.
Future Idea
Bulk Member Tools
Mass-assign members to sessions, bulk-move a cohort between standards after trials, or send a one-click re-engagement nudge to members who have gone quiet.
Future Idea
⚔️
Head-to-Head Stats
Look up the historical record between any two players — wins, losses, sets, and recent form across session, ladder, and tournament matches.
Future Idea
👮
Multi-Admin Support
Assign up to 3 admins per venue — head coach, secretary, treasurer — each with their own login. An audit log records which admin made which change.
Future Idea
💳
Payment & Membership Tracker
Track who's paid their annual subscription or session fees. Mark paid/unpaid, trigger payment reminder messages, and export the full ledger as CSV.
Future Idea
💌
Have an idea?

We'd love to hear it. Reach out and we'll add it to our consideration list.

Suggest a Feature
🎬 Video Guides

Watch short walkthroughs of each key feature.

Getting Started
Set up your first session, create a poll, and get your members playing.
Play Me
Let members post informal pickup requests and find a game without needing a poll.
🚀 Getting Started

OnCourt Match automates the admin work of running a club — from sending RSVP polls to generating match draws. Here's how everything fits together.

1
Create a Session — define a recurring club event (e.g. Monday Mixed Doubles, 6:30pm, 12 players) in the member app Admin section. This is the template the system uses for polls and matches.
2
Create the first poll manually — after creating a new session, go to the Sessions tab in the member app and tap Create Poll for that session. This first poll must be created by hand; automation handles all future occurrences from then on.
3
Approve Members — players register via the app and appear in your Members tab as pending. Approve them to give access and add them to the session distribution list.
4
Automation takes over — ~7 days before each subsequent session, a poll is automatically created and sent to all approved members via their preferred channel (WhatsApp, SMS, or Email).
5
Poll closes, matches generated — when the poll closes, confirmed players are sorted into court assignments and everyone is notified automatically.
6
Results & Rankings — after the session, players record results in the app. Points are awarded and the leaderboard updates automatically.
💡 Portal vs App: This venue portal is your admin control centre. Players use the member app at oncourtmatch.co.uk/mobile-app/ to RSVP, view matches, record results, and challenge ladder opponents.
📅 Setting Up Sessions

Sessions are the core of your club — each one defines a recurring event the system polls and schedules around.

How to create a session

In the member app, go to the Admin section → New Session card. (The venue portal is read-only for session management.)

Key fields explained

Field What it does
Club NameThe event name members see in messages and the app (e.g. "Monday Mixed Doubles")
Day & TimeRecurring day and start time — used to calculate when polls are created and closed
CapacityMax players per session — those over capacity are added to a waitlist
CourtsNumber of available courts — used to split players into match groups
Match FormatSingles, Doubles, or Mixed (prefers doubles, uses singles when player count is odd)
StandardSkill level group — only members of this standard appear in the session's poll
Matching TypeRandom: players mixed regardless of level. Strict: only players of the same standard are paired.
Generate MatchesWhen ticked, court assignments are auto-generated and sent when the poll closes. Untick for social sessions where no draw is needed.
FrequencyWeekly, monthly, or one-off — controls how often polls are created
⚠️ Important — create the first poll manually: After setting up a new session, it won't appear in the app until at least one poll exists. Go to the Sessions tab in the member app → tap Create Poll on the new session row. Once that first poll is created, automation will generate all future polls automatically at the correct intervals.

Pausing & managing sessions

  • Pause one session: Sessions tab → find the session row → toggle the Auto switch off. Polls will not be created for that session until re-enabled.
  • Pause everything: Sessions tab → Automation card → turn on Holiday Mode. All poll creation, reminders, and closures stop venue-wide until you switch it off.
  • Edit a session: In the member app Admin section → Sessions tab → tap the edit icon on the session row.
📋 How Polls Work

A poll is a single RSVP event tied to one occurrence of a session (e.g. "Monday 16 Dec"). After you create the first poll manually for a new session, the system creates and manages all subsequent polls automatically.

Poll lifecycle

Created ~7 days before the session. An RSVP message is sent to all subscribed members.
Open Members reply YES or NO via their preferred channel. Non-responders get a first reminder, then a second reminder ~3 hours before close.
Closed Automatically closed at the configured deadline. If Generate Matches is on, court assignments are sent immediately.
Matches Participants receive court and round assignments. Waitlisted players are notified if a space opens.

Manual controls

  • New sessions always need a manual first poll: Sessions tab → tap Create Poll on the session row. Automation takes over for all future occurrences.
  • You can also create additional polls manually for any session at any time from the member app Sessions tab.
  • You can close a poll early from the Sessions tab in this portal — useful if you have enough confirmed players already.
  • If automation is paused (Holiday Mode or session toggle off), no polls will be created automatically until re-enabled.
🎾 Match Generation & Results

When a poll closes with Generate Matches enabled, the system automatically sorts confirmed players into court assignments and notifies everyone.

How matches are generated

  • Players are distributed across available courts and rounds based on format (singles/doubles/mixed)
  • Random matching: players are shuffled and allocated without regard to level — best for social play
  • Strict matching: players are only paired with others of the same declared standard
  • If more players confirmed than capacity allows, the excess are placed on a waitlist

Recording results

  • After the session, participants open the Matches tab in the app
  • They tap "Record result" on their match and select whether they won or lost
  • The first player to record a result sets the outcome — no confirmation from the other side is needed
  • The winner receives 1 point; points decay over time so recent wins count for more
⚠️ Social sessions: If you untick Generate Matches on a session, the app will not show a voting prompt after the session — it's treated as casual play with no scoring.
🪜 Ladder Leagues

Ladder leagues give members an ongoing competitive challenge structure, independent of regular sessions.

How to create a league

In the member app, go to Admin → Leagues. Fill in:

Setting Explanation
StandardOnly members of this standard can join the league
DurationHow long the league runs in weeks
Challenge GapHow many positions above their own a player can challenge. Gap of 3 means you can only challenge the 3 players directly above you.
Forfeit DaysDays allowed to play a challenge. If the match isn't recorded in time, the challenger automatically wins.
Position RuleSwap: winner and loser swap positions. Shift: winner moves up one; others shift down.

How challenges work

  • A player challenges someone within their allowed gap from the Ladder tab in the app
  • Both players have Forfeit Days to play the match and record a result
  • The first player to record a win takes the result — no approval needed from the other side
  • If time runs out, the challenger wins automatically (this incentivises accepting challenges promptly)
  • Both players are notified of the result and their new positions
🎾 Play Me — Informal Pickups

Play Me lets members post informal "I'm looking for a game" requests that others can join — no poll, no automation, no points awarded.

Enabling Play Me for your venue

Go to the Sessions tab → Play Me card and toggle Enable Play Me on. Members will then see a "Post a request" option in their app.

How it works for members

  • A member posts a pickup request with a date, time, format (singles/doubles), and capacity
  • Other approved members at the venue see the request and can join with one tap
  • Once full or past the date, no more joins are accepted
  • The creator can close or cancel the request at any time
💡 Play Me vs Sessions: Sessions are structured recurring events with automated polls and scoring. Play Me is ad-hoc social play — great for members who want a casual hit outside the regular schedule.
👤 Managing Members

The Members tab is your control centre for all player accounts at your venue.

New member registration flow

  1. Member visits the app and clicks Register as New Player
  2. They fill in their name, email, phone, and select their standard and sessions
  3. They appear in this portal under Pending Member Approvals
  4. You click Approve — they receive access immediately and are added to future polls

Adding members directly

Use the Add Member form to add a player without them self-registering. They are approved immediately and sent a welcome email with session details and the app link.

Revoking access

In the member app Admin section → Players tab, you can revoke any member's approval. They will no longer appear in new polls and cannot access the app. Their history is preserved.

Granting admin access

You can grant up to 3 additional members admin access to this portal. Use the Venue Administrators section in this tab — select a member from the dropdown and click Grant Access. They share the same rights as you.

Enhanced Login

When the Enhanced Login toggle is on, members must verify a one-time code sent to their email every time they sign in, instead of entering their phone number. This adds a layer of security for your club.

💬 Communication Settings

OnCourt Match sends automated messages to members via three channels. Each member can set their own preference in the app.

📱 WhatsApp
Rich formatted messages with clickable RSVP links. Fastest response rate. Requires a WhatsApp Business account to be configured for your venue.
📟 SMS
Plain text messages. Good fallback for members without smartphones. Character-limited, so messages are concise.
📧 Email
HTML-formatted emails with full match details. Works for all members. Can be set as secondary channel in addition to WhatsApp or SMS.

When messages are sent

  • Poll created: RSVP sent to all session members (~7 days before)
  • First reminder: sent to non-responders ~1 day after poll creation
  • Second reminder: sent to non-responders ~3 hours before close
  • Poll closed: court draw sent to all confirmed participants
  • Ladder forfeit: both players notified when a challenge auto-resolves

Email Only Mode

If your venue has Email Only Mode active (set by your system administrator), all messages are sent via email regardless of individual member preferences. WhatsApp and SMS options are hidden in the app for all members at your venue.

📈 Understanding Analytics

The Analytics tab gives you a complete picture of how your club is performing — engagement, player development, and session efficiency.

Activity & Engagement

  • Sessions played / Hours of tennis / RSVP confirmations — shown for this week, this month, and this year
  • Most Engaged Members — players with the highest participation rate, useful for identifying session leaders
  • Inactive Members — players who haven't responded to recent polls; useful for a personal nudge

Player Ratings

  • Each member receives a rating between 500 and 1800 — similar to a tennis ELO scale
  • Ratings are computed from match wins, decayed points, and ladder challenge results
  • The Auto-Band column suggests whether a player should be considered for a different standard based on their performance — useful when managing group assignments

Performance Stats

  • Capacity Fill % — what percentage of available spots are being filled per session on average; low fill may indicate the session needs promoting
  • Response Rate % — the proportion of polled members who responded (yes or no); low response suggests a channel or timing issue
📦 Box Leagues

Box leagues organise players into round-robin groups (boxes). Everyone in a box plays each other, scores are recorded set-by-set, and standings update automatically. Optional season rollovers promote and demote players between boxes.

1
Create the league — go to the 📦 Box Leagues tab and click + Create Box League. Set the name, type (singles/doubles), number of boxes, players per box, start date, and deadline. Enable Rollover if you want automatic season promotion/demotion.
2
Assign players (Draft) — while the league is in Draft status, use the Box Assignment grid to add players to each box. Players can also self-join via the app. Box 1 is for the strongest players; higher box numbers are lower tiers.
3
Activate the league — once all boxes are filled, click 🟢 Set Active. Players can now schedule matches against others in their box from the Sessions tab in the app.
4
Players schedule and play — in the app, players open the box league detail and tap Schedule Game to arrange a match with a box opponent. Either player can record the result (set scores) when it's done. Standings update instantly.
5
End the season — when the deadline arrives, either click 🔄 Rollover (if rollover is enabled) to automatically create the next season with promoted/demoted players, or click 🔒 Mark Complete to close the league without a rollover.
📊 Scoring system
3 pts
Win (any score)
2 pts
Loss in 3 sets
1 pt
Loss in 2 sets
0 pts
Walkover loss

Tiebreakers: 1) Sets won · 2) Games won. Top player per box earns a 🏆 Top badge.

⚠️ Rollover vs Mark Complete
Mark Complete closes the league but does not reassign players. Use 🔄 Rollover to automatically create next season with promoted and demoted players in their new boxes.
❓ Frequently Asked Questions

Tap a question to see the answer.

A member can't log in — what should I check? +
First check their account is Approved in the Members tab. If Enhanced Login is enabled for your venue, ask them to check their email inbox (including spam) for the 6-digit code. Also confirm they're entering the same email address they registered with.
Polls aren't being created automatically — what's wrong? +
Check three things: (1) Holiday Mode is off (Sessions tab → Automation card), (2) the Auto toggle on the specific session row is enabled, and (3) the session has an upcoming date that falls within the poll creation window (~7 days ahead). Polls are only created if no poll already exists for that date.
A poll closed but matches weren't generated — why? +
Verify that Generate Matches is ticked on the session (edit the session in the member app Admin section). Also check there were enough confirmed players — at minimum 2 for singles or 4 for doubles. If the session is social (Generate Matches off), match generation is intentionally disabled.
How do I pause automation for one session without affecting others? +
Go to the Sessions tab and find the session in the list. Each session row has an Auto toggle switch — turn it off. Only that session's automation is paused; all other sessions continue as normal. Turn it back on when ready to resume.
What happens if a ladder challenge isn't played in time? +
After the Forfeit Days window expires, the challenger automatically wins. Positions are updated and both players are notified. This rule encourages the challenged player to accept and play promptly.
Can I add members who don't have WhatsApp? +
Yes. Members can set their communication preference to Email or SMS from the Profile tab in the app. Alternatively, if your whole club prefers email, contact your system administrator to enable Email Only Mode for your venue — this forces all messages to email regardless of individual preferences.
How do I change a member's standard (skill level)? +
In the member app, go to Admin → Players tab, find the member, and edit their standard. Members can also update it themselves from their Profile tab. Note: the Analytics tab shows Auto-Band suggestions based on match performance — these are hints only and don't change the standard automatically.
What is Email Only Mode? +
A venue-level setting that forces all notifications to be sent by email, ignoring each member's personal WhatsApp or SMS preference. It also hides the WhatsApp and SMS options in the member app so members aren't confused. Useful for clubs without WhatsApp Business access or with GDPR/compliance considerations. Contact your system administrator to enable it.
A member registered but isn't appearing in Pending Approvals — why? +
The most common reason is that the member selected the wrong venue during registration. Check with them which venue they chose. If you're logged in as a different admin or your venue isn't set up correctly, pending members may appear under another admin's portal. Contact your system administrator to reassign the member's venue.
How is the Player Rating calculated? +
Ratings range from 500 to 1800 and are computed from: match win/loss ratio in sessions, decayed points from session and ladder results, and performance relative to declared standard. Points decay over time — older wins gradually count for less, so the rating reflects recent form more than historical results. The Auto-Band column shows whether the system thinks a player's rating matches their declared level.
What does Holiday Mode do exactly? +
Holiday Mode pauses all automated activity for your venue — no new polls are created, no reminders are sent, and no polls are automatically closed. Any polls already open remain open and members can still respond. Toggle it off when you're back to resume normal scheduling. Use per-session toggles if you only want to pause one session.
Can I have more than one admin for my club? +
Yes — you can grant up to 3 additional members admin access to this portal. Go to Members tab → Venue Administrators → Grant Admin Access, select the member from the dropdown, and click Grant Access. They will be able to log into this venue portal with their own email and phone, with the same rights as you.
How do I set up a box league? +
Go to the 📦 Box Leagues tab and click + Create Box League. Fill in the name, type (singles or doubles), number of boxes, and players per box. Set a start date and deadline. If you want the season to roll over automatically, tick Enable Rollover and configure promote/demote numbers and the rollover date. Save — the league starts in Draft status so you can assign players before it goes live.
How do I assign players to boxes? +
Open the league detail panel (click View on any league). In the Box Assignment section you'll see each box with its current players. Use the member dropdown under each box to assign a player, then click Assign. Members can also self-register while the league is in draft — they tap Join in the app and choose their box. Once the league is Active, the assignment grid is locked and you must use Swap or Withdraw to make changes.
How does box league scoring work? +
Each completed match awards match points: Win = 3 pts, Loss in 3 sets = 2 pts, Loss in 2 sets = 1 pt. Walkovers give the winner 2 pts and the absent player 0. Standings are sorted by: match points → sets won → games won. The top player/pair in each box is highlighted with a 🏆 Top badge.
What does rollover do? +
When you click 🔄 Rollover on an active league, the system reads the final standings and moves the top N players from each box up one box (promotion) and the bottom N players down one box (demotion). A new league is created in Draft with all players in their new positions. The current league is marked complete. You can then set the deadline and activate the new season as normal. Note: using Mark Complete without clicking Rollover will not reassign players — you'd need to set up the next season manually.
Can I swap or remove a player mid-season? +
Yes. In the Box Assignment grid (active leagues), each player row has two buttons: Withdraw removes the player from the standings but keeps all their completed match results — opponents retain the match points they won. Swap replaces the player with a different member. If you withdraw a player by mistake, use the Re-enable button that appears next to their struck-through name.
Can players withdraw themselves from a box league? +
Yes. In the mobile app, players can open the box league detail view and tap Withdraw from League at the bottom of the screen. They'll be asked to confirm. Their completed match results are preserved for other players' standings. An admin can re-enable them from the venue portal if needed.
How do I enable coaching for my venue? +
Coaching is a paid add-on. Once enabled by OnCourtMatch for your account, a super admin can turn it on per venue via the Edit Venue settings. When enabled, a Coaches tab appears in the member app and a Book a Coach quick action appears on the home screen.
How do I approve a coach? +
Go to the Coaches tab in the venue portal. Any member who has applied to become a coach will appear as pending. Tap Approve to activate them — they can then set their availability, create group sessions and accept 1:1 bookings. You can also set their hourly rate from the same screen.
Can I see coaching revenue in the venue analytics? +
Yes. The Analytics tab includes a Coaching card showing group bookings, 1:1 bookings and total revenue, plus a per-coach revenue breakdown. The Coaches tab shows a summary bar with sessions, bookings and revenue totals at a glance.
What happens if a player reschedules a 1:1? +
If a player reschedules, the booking reverts to pending and the coach is notified to re-confirm. If the coach reschedules, the booking stays confirmed and the player is notified of the new time.