Epic Sports Dashboard
A complete guide to managing bookings, members, programs, payments, and settings — all in one place.
Overview
The Epic Sports Dashboard is a comprehensive club management platform designed for sports facility administrators. It centralizes court scheduling, member management, program enrollment, instructor bookings, Pro Shop sales, and financial reporting into a single unified interface.
Scheduler
Visual court & rental booking grid with drag-and-drop support
Member & Prospect CRM
Kanban-style prospects board and full member profiles
Programs
Create recurring classes, manage enrollments and pricing
Pro Shop
Product inventory, sales, rentals, and reports
Reports
Memberships, transactions, bookings, and program analytics
Settings
Full configuration: courts, sports, payments, notifications, and more
Platform Overview
The Epic Sports Dashboard is accessible across multiple platforms, giving administrators and end users a consistent experience whether they are managing operations, exploring services, or booking on the go.
Admin Web Application
Manage system configurations, users, bookings, and overall platform operations.
Website
Customer-facing platform for exploring services, browsing content, and initiating bookings.
Mobile Application
On-the-go access for users to interact with services, make bookings, and receive real-time updates.
Common Tasks
New to the dashboard? Start here — these are the most frequently used actions.
Authentication
Access the dashboard by navigating to your club's deployed URL. You will be presented with the login screen if not already authenticated.
Email & Password Login
Provide the registered admin email. Email format validation prevents invalid submissions.
Type the secure password associated with the account. Password visibility and error hints improve confidence.
Tap the login button. The system displays a loading indicator, validates credentials, and redirects on success.
- Invalid email or password shows a clear inline error message.
- Loading state is shown while credentials are verified.
- Successful login redirects the admin to the dashboard home.
Google Sign-In
Click the Google sign-in button to begin authentication using a Google account.
Pick the correct Google account or enter credentials if prompted.
Grant permissions and let the system verify your identity before redirecting.
- Validate the external auth flow before redirecting back.
- Show loading feedback during provider handoff.
- Display errors clearly if sign-in fails or is canceled.
Email Sign-In
Type the email registered to your account and confirm the format is valid.
The system sends a secure email to complete authentication.
Click the link or enter the code from your inbox to finish sign-in.
- Validate email input before sending.
- Show success confirmation when the email is dispatched.
- Display error messaging for incorrect or unregistered emails.
Phone Number Sign-In
Provide the phone number associated with your account. Phone format validation prevents errors.
Tap send OTP and wait for the code to arrive via SMS.
Type the received code and complete sign-in. Show expiry warnings as needed.
- Validate the entered phone number and OTP format.
- Provide loading and success feedback.
- Show errors for expired, invalid, or missing OTP codes.
Google Sign-In
Start Google authentication from the mobile app sign-in screen.
Choose an account or enter credentials if prompted.
Grant required permissions and return to the app.
- Show a loading state while the provider authenticates.
- Display errors clearly if the provider flow is interrupted.
- Redirect into the app on successful login.
Email OTP Sign-In
Type the email address linked to your mobile account.
Request a one-time code to be sent to your inbox.
Input the code. Support auto-focus and auto-read when available.
- Validate email format before sending the OTP.
- Show resend and timer guidance for one-time codes.
- Handle success, invalid, and expired OTP states clearly.
Phone Number OTP Sign-In
Add the number associated with your account. Ensure the format is correct.
Send a verification code via SMS and show the countdown timer.
Input the SMS code. Auto-focus and auto-read behavior should be supported where possible.
- Display a clear resend option and expiry timer.
- Support auto-focus on OTP entry and auto-read if available.
- Surface errors for invalid or expired codes and network issues.
Common States & Feedback
- Show a progress indicator during authentication operations.
- Disable inputs and buttons while processing.
- Confirm successful authentication with a brief message.
- Redirect promptly to the appropriate dashboard or homepage.
- Invalid credentials should show a specific error and suggest retrying.
- Invalid or expired OTP should clearly explain the issue and allow resend.
- Network issues should ask the user to check connectivity and retry.
Admin Profile
The Admin Profile section allows administrators to manage their personal account settings, update their password, and configure notification preferences.
Scheduler
The Scheduler is the central hub for viewing and managing all court reservations in a visual, calendar-style grid. Navigate here from the sidebar or via /scheduler.
The Scheduler contains two tabs at the top:
Court Scheduler
Manage court bookings, programs, matchmaking, and instructor sessions. The primary booking grid.
Rental Scheduler
View and manage equipment and item rental schedules separately from court bookings.
Court Scheduler
Overview
The Court Scheduler supports four booking types from the main Scheduler after selecting a location: Court Booking, Program Booking, Instructor Booking, and Matchmaking Session.
The court grid displays 30-minute slots from 00:00 to 24:00, one column per court. Current time is highlighted and each booking appears as a color-coded block.
Booking Color Codes
| Color | Type |
|---|---|
| 🟦 Blue | Regular court booking |
| 🟩 Green | Program class |
| 🟨 Yellow/Orange | Instructor booking |
| 🟪 Purple | Matchmaking session |
| 🔴 Red / striped | Cancelled or unavailable |
Workflow
Choose a location from the Scheduler main page.
Choose Court Booking as booking type.
Click an available slot to open the Schedule Court Booking modal.
Set booking type, sport, reservation type, players/customer, and optional guests.
Review date, start time, duration, court, and location.
Check Booking Summary and Payment Summary, including split payment options.
Click Save and Confirm Reservation to create the booking.
Form Fields
| Field | Type | Required | Notes |
|---|---|---|---|
| Customer | Search | Yes | Search by name/email/phone. Main booker must be registered. |
| Reservation Type | Dropdown | Yes | Defines booking category and pricing rules. |
| Court | Dropdown | Yes | Shows available courts at selected location. |
| Sub-Court | Dropdown | Conditional | Required if selected court has sub-courts. |
| Duration | Dropdown | Yes | Loaded from court pricing configuration. |
| Date | Date Picker | Yes | Cannot be in the past. |
| Time Slot | Grid Selector | Yes | Shown based on court, duration, and date. |
| Guests | Multi-select Search | Optional | Add additional players. |
| Payment Option | Radio | Yes | Pay Full or Pay Split. |
| Payment Method | Dropdown | Yes | Saved card, new card, terminal, or pay later. |
| Revenue Category | Dropdown | Optional | Financial reporting classification. |
Actions
Drag & Drop Rescheduling
Enable Drag Mode from the toolbar toggle. Drag any booking block to a new time slot/court to reschedule. Program bookings require confirmation before moving.
Edit Court Booking
Click the booking block in Scheduler.
Modify date, time, court, players, or payment fields.
Scheduler reflects updates immediately.
Cancel Court Booking
Click the booking in Scheduler.
Confirm cancellation prompt.
Slot becomes available again and notifications are sent.
List
| Displayed Information | Description |
|---|---|
| Booking type | Court Booking (and other booking categories by color code). |
| Date & time | Scheduled date, start time, and duration. |
| Court & location | Assigned court and venue. |
| Players & guests | Customer, added players, and guests. |
| Membership/payment summary | Payment method, split details, and booking status. |
Result: Booking is visible in Scheduler with full details including players, membership, date/time, court/location, and payment summary.
Filters
| Filter | Purpose |
|---|---|
| Location | Switch courts by venue from the Scheduler header. |
| Date | Move between days to view availability and bookings. |
| Court columns | Focus on selected courts in the current location. |
| Booking type (visual) | Use color codes to quickly identify booking categories/status. |
Notifications
Notifications are sent automatically to Admin and Player(s) for Created, Updated, and Cancelled bookings.
| Included Information | Description |
|---|---|
| Booking type, date & time | Core reservation details. |
| Court & location | Assigned venue and court. |
| Player & guest information | Participants linked to the booking. |
| Payment summary | Payment method and split payment details. |
| Booking status | Created, Updated, or Cancelled. |
Validation Rules
| Rule | Behavior |
|---|---|
| Date cannot be in the past | Past dates are blocked in new booking flow. |
| Court/time must be available | Only available slots can be selected. |
| Sub-court required when applicable | Enforced if selected court has sub-courts. |
| Registered customer required | Main booker must exist in the system. |
| Duration depends on court pricing config | Duration options load from configured rules. |
| Payment method/action must be valid | Confirmation requires valid payment details. |
Rental Scheduler
The Rental Scheduler provides a dedicated grid for managing equipment rentals (rackets, shoes, etc.) separately from court time. Click any available slot to create a rental reservation. The workflow mirrors the Court Scheduler.
↑ Back to topCourt Bookings
The Court Bookings module allows administrators to create, manage, edit, and cancel court reservations directly from the dashboard. It provides both a scheduler-based booking flow and a list view for managing all bookings.
Workflow: Create a Court Booking
Use the sidebar, or select a time slot from the Scheduler.
Open the booking modal to start a new reservation.
Search for the registered customer to book under.
Select a reservation type to apply category and pricing logic.
Choose the court (and sub-court if applicable), then pick the date, duration, and time slot.
Add additional players if the booking includes more than the main booker.
Select Pay Full or Split among players.
Select the payment method, then confirm the booking. The reservation is created and reflected in the system.
Create Court Booking — Form Fields
| Field | Type | Required | Description / Behavior |
|---|---|---|---|
| Customer | Search | Required | Search by name, email, or phone. Must be a registered user. |
| Reservation Type | Dropdown | Required | Defines booking category and pricing logic. |
| Court | Dropdown | Required | Displays courts based on selected location. |
| Sub-Court | Dropdown | Conditional | Required if the selected court has sub-courts configured. |
| Duration | Dropdown | Required | Loaded based on court pricing configuration. |
| Date | Date Picker | Required | Cannot be set in the past. |
| Time Slot | Grid Selector | Required | Displayed after selecting court, date, and duration. |
| Guests | Multi-select Search | Optional | Add guest players (additional players beyond the main booker). |
| Payment Responsibility | Radio | Required | Options: Pay Full or Split among players. |
| Payment Method | Dropdown | Required | Choose one: Card, POS, or Post to Account. |
Booking Actions
Edit Booking
Select a booking row and click Edit.
Change fields such as court, date, time slot, duration, or players.
The booking is updated in the system.
Note: Pricing may change based on the updated time or duration (peak vs normal hours).
Cancel Booking
Choose a booking from the court bookings list.
Start the cancellation flow.
Enter a cancellation reason if needed, then confirm to cancel.
Booking status updates to Cancelled.
Rescheduling
Bookings can be modified by updating the date, time slot, or court. Changes are reflected immediately after saving.
Court Booking List
Displays all bookings in a structured list view for easy tracking and management.
Available Columns
| Column | What It Shows |
|---|---|
| Booking ID | Unique identifier for the booking record. |
| Status | Pending, Confirmed, or Cancelled. |
| Date & Time | Scheduled date and selected time slot. |
| Court & Location | Court name and venue/location details. |
| Number of Players | Main booker plus any guest players included in the reservation. |
| Booked By | The user who created the booking. |
| Payment Details | Payment responsibility and the selected payment method. |
| Check-in Status | Attendance / check-in state for players. |
| Actions | View, Edit, Cancel, and Check-in (mark player attendance). |
Filters
| Filter | Description |
|---|---|
| Date Range (Start Date – End Date) | Filter bookings within a selected time window. |
| Location | Filter bookings by venue/location. |
| Booked By | Filter bookings by the creating user. |
Apply one or multiple filters to refine results. The booking list updates dynamically based on selection.
Validation Rules & Dependencies
| Rule | Dependency / Behavior |
|---|---|
| Date cannot be in the past | The date picker prevents selecting past dates. |
| Time slots depend on court and duration | Available time slots are shown after court, date, and duration are selected. |
| Sub-court required when applicable | Only required if the selected court has sub-courts configured. |
| Customer must be a registered user | Customer search validates against registered accounts. |
| Payment method required before confirmation | Confirmation is blocked until a payment method is selected. |
| Conflicts prevented by slot availability | Bookings are not allowed when the selected time slot is unavailable. |
Expected Outcome
The booking is successfully created and stored. The selected time slot is reserved and reflected in both the scheduler and list views. Payment is processed based on the chosen payment method, and real-time notification events are triggered for Booking Created, Booking Updated, and Booking Cancelled. Both admins and end users receive real-time updates based on system notification settings.
↑ Back to topInstructor Bookings
Overview
Instructor Booking allows admins to schedule private or group lessons with an instructor directly from the Scheduler. Booking details, court allocation, and payment handling are completed in a single flow.
Workflow
From Scheduler, choose Instructor Booking.
Select Lesson Type and Instructor.
Add all attendees for the lesson.
Date, Start Time, and Duration are pre-filled from the selected slot.
Assigned court is shown and location is auto-populated.
Choose payment method, then Charge Now or Authorize Only.
Review summary and click Save and Confirm Reservation.
Form Fields
| Field | Description / Behavior |
|---|---|
| Lesson Type | Select the lesson type (e.g., Private, Group, Clinic). |
| Instructor | Select the instructor conducting the lesson. |
| Player(s) / Consumer(s) | Add one or more attendees. |
| Date | Pre-filled from Scheduler slot; review before confirming. |
| Start Time | Pre-filled from Scheduler slot. |
| Duration | Shown in minutes; review/update if allowed. |
| Court | Assigned court is displayed. |
| Location | Displayed automatically from assigned court. |
| Payment Method | Card, Wallet, Apple Pay, Auto (No Payment), POS Terminal, Pay Later. |
| Payment Action | Charge Now or Authorize Only (Hold Payment). |
| Card Payment Details | If Card is selected: choose Saved Card or Add New Card. |
Amount charged is calculated automatically from Lesson Type, Duration, and Instructor Price.
Actions
Edit Instructor Booking
Select the existing Instructor Booking.
Change players, duration/time, payment method, or payment action.
Scheduler updates immediately and notifications are sent.
Cancel Instructor Booking
Open the Instructor Booking modal.
Confirm cancellation.
Booking is cancelled, slot becomes available, and refund/payment status follows system rules.
List
| Displayed Information | Description |
|---|---|
| Lesson Type | Configured lesson category. |
| Instructor Name | Assigned instructor. |
| Player(s) | Attendees linked to the lesson. |
| Date & Time | Scheduled date and start time. |
| Duration | Lesson length in minutes. |
| Court & Location | Assigned court and venue. |
| Payment Details / Status | Method, amount, and payment state. |
Filters
| Filter | Purpose |
|---|---|
| Date / Time Slot | Controlled by Scheduler context for quick day/time navigation. |
| Court / Location | Restrict visible lessons to selected court/location. |
| Instructor | Focus on lessons for a specific instructor. |
| Status | Track active, updated, and cancelled lessons (where available). |
Notifications
Notifications are sent for creation, updates, and cancellations of instructor bookings.
| Category | Details |
|---|---|
| Recipients | Admin and Player(s). |
| Channels | Email and in-app notifications (if enabled). |
| Included Information | Lesson type/instructor, date/time/duration, court/location, player(s), payment status, booking status (Created/Updated/Cancelled). |
Validation Rules
| Rule | Behavior |
|---|---|
| Lesson Type and Instructor are required | Booking cannot be saved without both. |
| At least one player/consumer is required | Ensures attendee assignment before confirmation. |
| Date/Time is Scheduler-controlled | Slot selection sets booking time context. |
| Payment method/action must be valid | Charge/hold behavior follows selected method and system payment rules. |
Programs
Programs are structured training courses or academies with recurring class sessions. A single program can have multiple classes, multiple instructors, and enrollment-based registration.
The Programs sidebar group has three sub-pages:
| Sub-page | Route | Purpose |
|---|---|---|
| Programs | /programs | List all programs, view status, enrollments, quick actions. |
| Program Classes | /program-classes | List all individual class sessions across all programs. |
| Program Bookings | /program-bookings | List all student enrollments and booking records. |
Workflow: Create a Program
Program creation uses a 4-tab wizard:
Basic Information
Name, description, cover image, category, session type, court, and dates.
Pricing
Price per session, full program price, upfront payment requirements.
Membership
Restrict program access to specific membership tiers.
Classes
Add individual class sessions with dates, times, instructors, and courts.
Basic Information — Form Fields
| Field | Required | Notes |
|---|---|---|
| Program Name | Required | Example: "Summer Tennis Academy". Max ~255 chars. |
| Cover Image | Optional | Upload JPEG/PNG. Used on booking pages. |
| Description | Optional | Detailed program description visible to members. |
| Additional Notes | Optional | Internal notes or special instructions. |
| Category | Required | Select from configured Program Categories (Settings → Program Management). |
| Session Type | Required | Select from Program Sessions (Settings → Program Management). |
| Location / Court | Required | Where the program will take place. |
| Start Date | Required | Cannot be in the past. |
| End Date | Required | Must be after Start Date. |
| Max Participants | Optional | Enrollment cap. Leave blank for unlimited. |
| Tags | Optional | Multi-select tags for search and filtering. |
| Sports | Optional | Associate the program with one or more sports. |
Pricing Fields
| Field | Required | Notes |
|---|---|---|
| Per-Session Price | Optional | Price if student pays per class. |
| Full Program Price | Optional | Price for enrolling in the entire program. |
| Payment Required | Optional | Toggle: require payment at booking time. |
| Upfront Required | Optional | Toggle: require full upfront payment. |
Workflow: Manage Program Classes
From the Programs list, click the program name or the "Manage Classes" action button.
Click + Add Class. The Add Class modal requires: Date, Start Time, End Time, Court, Location, Instructor (optional), and Max Players.
Each class row has Edit (pencil) and Delete (trash) buttons. Editing opens the same form pre-filled.
Use the Cancel option from the class row actions menu. Students will be notified per notification settings.
Program Sessions
Overview
Program Sessions let you define and manage individual sessions inside a program. Each session carries its own date, time, and duration — giving you fine-grained control over your program schedule.
Provide the date, time, duration, and any other session-specific information.
Program Categories
Overview
Program Categories allow admins to organize programs into structured groups for better management and clarity within the system.
How to Access
Select Settings from the left-side menu.
Create a New Program Category
Manage Program Categories
For each program category, admins can perform the following actions:
| Action | Description |
|---|---|
| Edit | Update the category name or details. |
| Delete | Remove the category if it is no longer needed. |
Edit a Program Category
Delete a Program Category
Match Booking
The Match Booking module consolidates all matchmaking-related features — scheduling matches, managing matchmaking activity, and configuring match settings — into one unified section.
Overview
The Match Booking module allows administrators to create and manage match-making sessions directly from the Scheduler. Matches can be configured by sport, format, skill level, and privacy, with support for scheduling, court allocation, and notifications.
Workflow: Create a Match Booking
Open the Scheduler and select a time slot.
Start a new match booking from the selected slot.
Set sport, match format, skill level, and optional gender requirement.
Select Public or Private match.
Player/team selector adapts to Singles or Doubles format.
Review date, start time, duration, court, and location.
Click Save & Confirm Reservation to finalize.
Create Match Booking — Form Fields
| Field | Type | Required | Description / Behavior |
|---|---|---|---|
| Sport | Dropdown | Required | Select the sport for the match. |
| Match Format | Dropdown | Required | Options: Singles or Doubles. |
| Skill Level | Dropdown | Required | Defines player skill category. |
| Gender Requirement | Dropdown | Optional | Restricts participation when applicable. |
| Match Privacy | Checkbox | Optional | Public or Private match visibility. |
| Players / Teams | Selector | Required | Structure changes based on selected format. |
| Date | Date Picker | Required | Selected from Scheduler context. |
| Start Time | Time Picker | Required | Based on selected slot. |
| Duration | Dropdown | Required | Defined in minutes based on court setup. |
| Court | Dropdown | Required | Select the court for the match. |
| Location | Auto/Dropdown | Required | Derived from selected court. |
Actions
Edit Match Booking
Select the match from the Scheduler slot.
Modify format, players/teams, schedule, court, or related fields.
Scheduler updates instantly and update notifications are triggered.
Cancel Match Booking
Select the scheduled match.
Confirm the cancellation action.
The booking is cancelled, the time slot becomes available, and cancellation notifications are sent.
Matchmaking Tabs
| Tab | Description |
|---|---|
| Matches | Displays all matches with filters for date, sport, court, and status. |
| Players | Shows all players with matchmaking profiles and ratings. |
| Statistics | Visual charts for match trends, player performance, and peak hours. |
Validation Rules
| Rule | Dependency / Behavior |
|---|---|
| Match format controls structure | Singles and Doubles require different player/team setup. |
| Court and time must be available | Booking cannot proceed on unavailable slots. |
| Required number of players must be added | Validation enforces minimum players based on format. |
| Duration depends on court configuration | Duration options follow configured court settings. |
| Private matches restrict visibility | Only authorized/selected participants can view or join. |
Overview
The Matchmaking Management module provides a centralized dashboard for monitoring, analyzing, and managing match-making activities across locations and sports. It helps admins track performance, player participation, and booking trends in one place.
Workflow: Access Matchmaking Management
Choose Overview, Sport, or Peak Time.
Use available filters where applicable.
Review insights and manage matches from the selected tab.
Tabs Overview
| Tab | Description |
|---|---|
| Overview | Displays key metrics and overall matchmaking performance. |
| Sport | Provides filtered match data and detailed match management. |
| Peak Time | Shows charts and trends for match activity and demand. |
Overview Tab — Key Metrics
| Key Metric | What It Indicates |
|---|---|
| Total Matches Created | Total number of matches created in the selected period. |
| Unique Players | Number of distinct players participating in matches. |
| Cancelled Matches | Total cancelled matches. |
| Payment Status | Match payment breakdown: Paid, Pending, and Unpaid. |
| Upcoming Matches | Scheduled matches that have not started yet. |
| Most Popular Sport | Sport with the highest matchmaking volume. |
Sport Tab — Filters
| Filter | Usage |
|---|---|
| Location | Narrow match data by venue/location. |
| Court | Focus on a specific court. |
| Date | Limit results to a selected date or range. |
| Match Format | Filter by Singles or Doubles. |
Peak Time Tab — Charts
| Chart / Insight | Description |
|---|---|
| Sports Distribution | Shows match distribution across sports. |
| Peak Booking Hours | Identifies high-demand time slots. |
| Weekly Trends | Displays activity across days of the week. |
| Daily Booking Trends | Tracks daily booking patterns. |
Key Features
| Feature | Benefit |
|---|---|
| Centralized matchmaking dashboard | Manage all matchmaking activity from one module. |
| Real-time analytics | View current trends and performance snapshots. |
| Filter-based tracking | Quickly isolate matches by date, court, format, and location. |
| Match-level management | Open details and update match assignments directly. |
| Visual demand analysis | Use charts to identify peak demand windows. |
Match Setup contains the configuration options for matchmaking behaviour and match formats. Use the tabs below to manage each area.
Match Configuration
Configure match-related settings and external service URLs used across the matchmaking system.
Set the base URL for match-related external services and integrations. This URL is used when generating shareable match links sent to players.
| Field | Description | Required |
|---|---|---|
| Match Base URL |
Base URL for match-related external services. Must start with https://Example: https://www.staging.epic-padel.com/share/join-match
|
Required |
Paste the full HTTPS URL for the external match service. The URL must begin with https://.
https:// will be rejected. Ensure the URL is valid and reachable before saving.Prospects
Overview
The Prospects module is a Kanban-style CRM board that helps admins manage potential leads, track progress, and organize prospects across pipeline stages (labels). Each column represents a stage, and each card represents a prospect.
Workflow: Manage Prospects
From the Admin Dashboard, open Prospects.
Create a new prospect or select an existing user to add to the pipeline.
Place the prospect into the correct pipeline stage.
Move prospects across stages as interactions and updates happen.
Open a prospect to update notes, status, and stage assignment as needed.
Delete from the pipeline if no longer required.
Key Features
| Feature | Benefit |
|---|---|
| Kanban-style board | Visual pipeline management for faster lead triage. |
| Drag-and-drop movement | Updates stage progress immediately and keeps the pipeline current. |
| Label-based organization | Stages can be prioritized (Low, Medium, High). |
| Notes and interactions | Track follow-ups and keep context inside each prospect card. |
| Audit logs | Maintain a history of changes for tracking and accountability. |
| Custom pipeline stages | Create and manage the labels that match your process. |
Actions
| Action | Description |
|---|---|
| Add Prospect | Add a new or existing user and assign them to a stage. |
| Move Prospect | Drag and drop cards between stages to update progress. |
| View Details | Open the prospect modal to view full details. |
| Add Note | Log follow-ups or observations for the prospect. |
| Remove Prospect | Delete the prospect from the pipeline. |
| View Audit Logs | Track history of updates and changes. |
Create Prospect — Form Fields
| Field | Required | Description / Behavior |
|---|---|---|
| First Name | Required | Alphanumeric input. |
| Last Name | Optional | Recommended for full profile. |
| Date of Birth | Optional | Used for analytics. |
| Optional | Must be valid format if provided. | |
| Country Code | Conditional | Required when entering phone number. |
| Phone Number | Optional | Numeric, formatted by country code. |
| Password | Optional | Enables login if set. |
| Confirm Password | Conditional | Must match password if password is set. |
| Active | Optional | Toggle to enable/disable user. |
| Send Info Email | Optional | Sends welcome email if enabled. |
Labels (Pipeline Stages)
Create Label
Use + Create Label from the pipeline.
Add a short description for the stage.
Choose Low, Medium, or High.
The stage becomes available on the pipeline board.
Edit Label
Use the ✏️ icon on the column header.
Adjust description and priority as needed.
The pipeline reflects the updated label settings.
Validation Rules
| Rule | Dependency / Behavior |
|---|---|
| First Name is mandatory | Form blocks saving without a value. |
| Email must be valid if provided | Invalid email prevents submission. |
| Phone depends on country code | Country Code is required when entering a phone number. |
| Confirm Password required only if password is set | Confirm must match the password. |
| Prospect must belong to at least one label/stage | Selection of pipeline stage(s) is required. |
Expected Outcome
Prospects are organized visually in pipeline stages, progress is tracked through stage movement, and admins can manage leads efficiently with notes and updates. Audit logs maintain a history of changes for tracking.
↑ Back to topMembers
Overview
The Members Management module allows administrators to view, manage, and analyze all members and their associated memberships, bookings, and payments from a centralized dashboard.
Workflow: Manage Members
Open Members from the Admin Dashboard.
Search, filter, and scan member status at a glance.
Click a member to view their detailed profile.
Review memberships, bookings, payments, and related activity.
Update status, review history, and take action as needed.
Members List View
The Members list provides a quick overview of all users and their membership status for fast triage and tracking.
| Column | Description |
|---|---|
| User | Member name. |
| Contact | Email address or phone number. |
| Status | Active, Inactive, or Expired. |
| Membership | Current membership plan. |
| Member Since | Membership start date. |
| Expires On | Membership expiry date. |
Member Details View
Clicking a member opens a detailed profile page with complete information (Consumer Details).
| Basic Information | Examples |
|---|---|
| Identity | Name, email address. |
| Financial snapshot | Wallet balance (and other account-level indicators, where enabled). |
Member Detail Tabs
| Tab | Description |
|---|---|
| Prospect | Displays pre-membership or lead-related data. |
| Overview | Summary of member profile, membership, and key dates. |
| Post to Accounts | Accounting-related entries for the member. |
| Memberships | Active and past memberships with history. |
| Bookings | All bookings (court, program, instructor, match). |
| Payments | Payment history and transaction records. |
| Payment Methods | Saved cards and linked payment options. |
| Corporate / Family | Linked corporate or family memberships. |
| Punch Package | Package usage and remaining balance. |
Key Features
| Feature | Benefit |
|---|---|
| Centralized member management | One place to manage profiles, memberships, and activity. |
| Complete visibility | Track memberships, bookings, and payment history together. |
| Linked account management | Manage corporate/family relationships and packages where applicable. |
| Integrated financial tracking | Wallet and transactions reflect member-level financial state. |
Validation Rules
| Rule | Dependency / Behavior |
|---|---|
| Member status depends on membership validity | Status reflects active/inactive and expired state when memberships lapse. |
| Membership dates drive Active/Expired | Start and expiry dates determine membership state. |
| Bookings and payments link to the member profile | All activity is associated with the selected member record. |
| Wallet balance updates from transactions | Wallet reflects credits/debits from the system’s financial activity. |
Expected Outcome
Admins can efficiently manage member data with full visibility into lifecycle and activity, improving tracking of memberships, bookings, and payments and enabling better decisions from centralized data.
↑ Back to topConsumer Details
The Consumer Details page is the most comprehensive view of a single customer. It is organized into 11 tabs, each covering a different aspect of the customer's relationship with the club.
Consumer Details Tabs
| Tab | What It Shows | Key Actions |
|---|---|---|
| 📋 Overview | Personal info, contact details, account status, wallet balance, tags | Edit profile, toggle active status, add/remove labels |
| 🎯 Prospect | CRM stage history and notes for this member as a prospect | Add note, change stage |
| 💳 Membership | Current and past membership plans, renewal dates | Upgrade, cancel, or assign membership |
| 📅 Bookings | All court bookings made by this member | View, cancel, or edit individual bookings |
| 💰 Post to Account | Charges posted directly to the member's account | Post new charge, view history |
| 💵 Payments | Full payment transaction history | View receipts, filter by date/type |
| 💳 Payment Methods | Saved credit/debit cards and payment instruments | Add new card, remove card |
| 👨👩👧 Family | Corporate/family account members linked to this account | Add member, remove member |
| 💼 Wallet Transactions | Wallet credits, debits, and balance history | View transaction details |
| 🎟️ Punch Packages | Active and used punch package credits | Purchase new package |
| 🎓 Program Bookings | All program enrollments for this member | View enrollment details |
Editing a Consumer Profile
Navigate to Members → click the member's name.
The edit form opens with current data pre-filled.
Modify any fields (name, email, phone, DOB) and click Save Changes.
/consumer-details/42/membership opens directly on the Membership tab.
Memberships
This section explains how to create, configure, and manage Membership Plans from Admin Dashboard, including Family and Corporate memberships.
Navigation Path
Admin Dashboard → Left Menu → Memberships
Membership List Overview
The Memberships page displays all created membership plans.
Filters & Controls
| Control | Options |
|---|---|
| Search | Search by membership name/keywords. |
| Membership Type | Individual · Corporate · Family |
| Status | Active · Inactive |
| View Toggle | Grid View · List View |
Membership List Details
| What You See | Description |
|---|---|
| Membership Name | Plan display name. |
| Description | Short summary of the plan. |
| Status Indicator | Green = Active (or Draft/Inactive where applicable). |
| Plan Type | Monthly / Yearly (and special plan flags). |
| Family Plan / Corporate Plan | Shows whether Family/Corporate toggles are enabled. |
| Active / Published | Whether plan is visible/available. |
| Purchase Window | Available From / Available Until. |
| Audit Timestamps | Created At and Updated At. |
| Actions | View details, Subscribers count, Edit, Delete. |
Workflow: Creating a Subscription Plan
Start a new membership plan.
Enter Plan Name and Description. Enable toggles as needed: Active, Published, Corporate Plan (optional), Family Plan (optional), Default Plan, Prorated Billing.
Click Create Subscription Plan to save plan and open configuration.
Membership Configuration Tabs
| Tab | What You Configure |
|---|---|
| Basic Info | General membership information and toggles. |
| Dates | Purchase Start/End and Membership Start/End dates. |
| Benefits & Features | Benefits list shown to members. |
| Time & Limits | Booking rules, guest limits, age restrictions, peak limits, usage limits, settlement time, subscription limits, and exclusions. |
| Pricing Management | One-time, recurring, or combined pricing structures. |
| Booking Pricing | Duration-based pricing, peak/off-peak pricing, guest charges. |
| Settings | Price settings, membership settings, and any legacy configurations. |
Dates Tab — Required Fields
| Field | Description |
|---|---|
| Purchase Start Date | First date users can purchase the membership. |
| Purchase End Date | Last date users can purchase the membership. |
| Membership Start Date | When benefits begin (plan-level setting). |
| Membership End Date | When benefits end (plan-level setting). |
Click Save Date Settings after updates.
Time & Limits — Common Controls
| Category | Examples |
|---|---|
| Booking Settings | Last Reservation Open Time, Booking Buffer Hours, Advance Booking (days/hours in advance). |
| Guest Limits | Per day / week / month, guest additional amount. |
| Age Restrictions | Minimum Age, Maximum Age. |
| Peak Booking Limits | Per day / week / month. |
| Usage Limits | Reservations / Minutes / Courts, Free Usage per Week. |
| Bill Settlement | Settlement Time. |
| Subscription Limits | Corporate Email Limit, Active Subscription Limit, Exclude Past Reservations. |
Click Save Time & Limits after updates.
Pricing Management — Supported Models
| Pricing Type | How It Works |
|---|---|
| One-time Purchase | Set fee + duration. |
| Recurring Plan | Set base fee (often 0.00) and add recurring plan rules. |
| One-time + Recurring | Combine both approaches. |
Finalizing Membership
| Step | Outcome |
|---|---|
| Save all sections | Ensures that plan configuration persists across tabs. |
| Add pricing | Membership becomes Active after pricing is added (and appears under Individual/Family/Corporate filters based on toggles). |
Family Membership Overview
Overview: Family Membership allows one Owner to manage multiple members. Members can be Free or Paid, and only the Owner can manage member additions and limits.
Configure Family Membership
Memberships → Create/Edit → enable Family Plan toggle.
Set Individual Pricing (standard) and Family Pricing (e.g., Below 18 / Above 18). At least one Family Pricing option is required.
Configure Free Email Limit and Total Subscription Email Limit.
Family Limits Configuration
| Limit | Definition |
|---|---|
| Free Email Limit | Number of free family members allowed. |
| Total Subscription Email Limit | Total members allowed (Free + Paid). |
Upgrade a Member to Family
Members → Upgrade Membership → Select Family Plan.
Member Management
| Goal | What to Increase |
|---|---|
| Add more Free members | Increase Free Email Limit and Total Subscription Email Limit. |
| Add more Paid members | Increase Total Subscription Email Limit only. |
Website Behavior
| User | Behavior |
|---|---|
| Owner | Sees a Family Members tab and can manage members and limits. |
| Family member (non-owner) | Cannot add/manage other members. |
Corporate Membership Overview
Overview: Corporate Membership behaves like Family Membership with one additional requirement: Corporate Plan toggle must be enabled.
Enable Corporate Membership
Memberships → Create/Edit → enable Corporate Plan toggle.
Set Individual Pricing and Corporate Pricing options. At least one Corporate Pricing option is required.
Configure Corporate Email Limit and Total Subscription Email Limit.
Corporate Limits Configuration
| Limit | Definition |
|---|---|
| Corporate Email Limit | Number of free corporate members allowed. |
| Total Email Limit | Total corporate members allowed (Free + Paid). |
Corporate Member Management
| Action | Description |
|---|---|
| Add Corporate Members | Owner can add members up to the configured limits. |
| Remove Corporate Members | Owner can remove members (subject to billing implications). |
| Upgrade Members | Convert individual members to corporate membership. |
| Set Member Roles | Assign different access levels within corporate structure. |
Corporate Features
| Feature | Description |
|---|---|
| Domain Validation | Restrict membership to specific email domains. |
| Department Management | Organize members by departments or teams. |
| Corporate Billing | Consolidated billing for all corporate members. |
| Admin Delegation | Assign corporate admins with limited permissions. |
| Usage Reporting | Track corporate-wide usage and analytics. |
Website Behavior
| User | Behavior |
|---|---|
| Owner | Sees a Corporate Members tab and can manage members and limits. |
| Corporate member (non-owner) | Cannot add/manage other members. |
| Corporate Admin | Limited management capabilities as delegated by Owner. |
Punch Packages
Punch Package Management
Overview
This section explains how to create, configure, assign, and manage Punch Packages from the Admin Dashboard. Punch Packages allow users to purchase a set number of punches that can be redeemed for bookings, classes, matches, instructor sessions, and add-ons.
Navigation Path
Admin Dashboard → Left Menu → Punch Packages
Punch Package List Overview
The Punch Package page displays all created packages.
Columns
| Column | Description |
|---|---|
| Package Name | Name of the package. |
| Price | Cost of the package. |
| Total Punches | Number of punches included. |
| Expiry | Expiry type/date (Fixed or Duration-based). |
| Status | Active / Inactive. |
| Created Date | Date of creation. |
| Actions | Edit / Clone / Activate / Deactivate / Delete. |
Filters & Controls
| Filter | Description |
|---|---|
| Search | Search by package name. |
| Status | Active / Inactive. |
| Expiry Type | Fixed / Duration. |
| Date Range | Filter by created date. |
Workflow: Create Punch Package
Start a new punch package.
Fill fields, set expiry type, and configure benefits/redemption rules.
On success, the system confirms: “Package created successfully”.
Package Details Form
| Field Name | Type | Description | Required |
|---|---|---|---|
| Package Name | Text | Enter package name. | Yes |
| Price | Number | Enter package price. | Yes |
| Total Punches | Number | Define total punches. | Yes |
| Expiry Type | Dropdown | Fixed Date / Duration. | Yes |
| Expiry Date | Date Picker | Select expiry date. | Conditional |
| Expiry Duration | Number | Number of valid days. | Conditional |
| Purchasable Start Date | Date Picker | Package availability start. | No |
| Purchasable End Date | Date Picker | Package availability end. | No |
| Description | Text Area | Package description. | No |
Benefits Configuration
| Field | Description |
|---|---|
| Activity Type | Booking / Class / Match / Session / Add-on. |
| Punch Value | Punches required for the activity. |
| Description | Optional explanation. |
Redemption Rules
| Rule | Description |
|---|---|
| Booking Usage | Define punches for court booking. |
| Class Usage | Define punches for classes. |
| Match Usage | Define punches for matches. |
| Session Usage | Define punches for instructor sessions. |
| Add-on Usage | Define punches for add-ons. |
Create Actions
| Action | Description |
|---|---|
| Save | Creates the package. |
| Cancel | Discards changes. |
Package Management Actions
| Action | Description |
|---|---|
| Edit | Modify package details. |
| Clone | Duplicate package. |
| Activate / Deactivate | Control visibility for purchase. |
| Delete | Remove from future purchase (existing users are unaffected). |
Assign Punch Package
Admins can assign punch packages to users from the Admin Dashboard.
Assignment Form
| Field Name | Type | Description |
|---|---|---|
| Select User | Search Dropdown | Choose user. |
| Package | Dropdown | Select package. |
| Custom Punches | Number | Override punches. |
| Custom Price | Number | Override price. |
| Expiry Date | Date Picker | Override expiry. |
| Benefits | Editable | Modify benefits for this assignment. |
| Payment Method | Dropdown | POS / Wallet / Pay Later / Mark Paid. |
Punch Package Usage (Consumer App)
Users can view and purchase packages, and redeem punches during checkout.
Package Details Display
| Field | Description |
|---|---|
| Package Name | Name of package. |
| Price | Cost. |
| Total Punches | Included punches. |
| Expiry | Validity window. |
| Benefits | Usage rules. |
My Packages (User Profile)
| Field | Description |
|---|---|
| Package Name | Name. |
| Expiry Date | Valid till. |
| Total Punches | Initial punches. |
| Used Punches | Consumed. |
| Remaining Punches | Available balance. |
| Benefits | Usage rules. |
Punch Redemption (Checkout)
| Functionality | Description |
|---|---|
| Punch Balance | Displays available punches. |
| Auto Rule | Applies correct rule for the selected activity. |
| Validation | Checks expiry and punch balance. |
| Price Update | Adjusts payable amount. |
| Deduction | Deducts punches instantly on confirmation. |
Instructor Package Sales
| Feature | Description |
|---|---|
| Sell Package | Assign to users or groups. |
| Customize | Modify punches, price, expiry. |
| Status | Purchased / Pending Payment. |
| Tracking | Visible in Admin Dashboard. |
Notifications
| Trigger | Recipient |
|---|---|
| Package Purchase | User + Admin |
| Package Assignment | User |
| Low Punch Balance | User |
| Expiry Reminder | User |
| Instructor Sale | Admin |
Reports
| Report | Description |
|---|---|
| Sales Report | Package purchases. |
| Assignment Report | Assigned packages. |
| Redemption Report | Punch usage. |
| Revenue Report | Earnings. |
Filters
| Filter | Options |
|---|---|
| Date Range | Custom. |
| Package | Name. |
| User | Consumer. |
| Instructor | Instructor. |
| Payment Method | Card / Wallet / POS. |
Export
| Format | Notes |
|---|---|
| CSV | Download report data as CSV. |
| Download report view as PDF. |
Refunds
The Refund Management module allows administrators to process refunds for cancelled bookings by either approving or rejecting refund requests. Refunds are automatically created when a booking is cancelled.
Overview
View and manage all refund requests from cancelled court bookings, program enrollments, and instructor lessons. Refunds are automatically created when a booking is cancelled and tracked by booking type.
Refunds Table
| Booking Type | Booking ID | User Name | Amount | Status | Date | Actions |
|---|---|---|---|---|---|---|
| Court | #BK-12345 | John Doe | $45.00 | Cancelled | 2026-03-26 | View / Approve / Reject |
| Program | #PRG-67890 | Jane Smith | $120.00 | Approved | 2026-03-25 | View / Reverse |
| Instructor | #INS-54321 | Mike Johnson | $60.00 | Rejected | 2026-03-24 | View |
Filter Options
Booking Type: All / Court / Program / Instructor
Status: Cancelled / Approved / Rejected
Date Range: Custom date range selection
Court Booking Refunds
Manage refunds from cancelled court reservations. These are generated when a member cancels a court booking.
Refunds Table
| Booking ID | User Name | Court Name | Amount | Status | Date | Actions |
|---|---|---|---|---|---|---|
| #BK-12345 | John Doe | Court A | $45.00 | Cancelled | 2026-03-26 | View / Approve / Reject |
| #BK-12346 | Sarah Wilson | Court B | $35.00 | Approved | 2026-03-25 | View / Reverse |
Workflow: Court Refund Processing
A refund entry is created with status Cancelled.
View pending refund requests in the Court Refunds tab.
Click to view details and choose to approve or reject the refund.
Provide the refund amount and confirm.
Refund is processed and credited to the member's wallet.
Program Enrollment Refunds
Manage refunds from cancelled program enrollments. These are generated when a member withdraws from a program.
Refunds Table
| Booking ID | User Name | Program Name | Amount | Status | Date | Actions |
|---|---|---|---|---|---|---|
| #PRG-67890 | Jane Smith | Tennis Fundamentals | $120.00 | Cancelled | 2026-03-26 | View / Approve / Reject |
| #PRG-67891 | Alex Brown | Badminton Advanced | $150.00 | Approved | 2026-03-24 | View / Reverse |
Workflow: Program Refund Processing
A refund entry is created with status Cancelled.
View pending refund requests in the Program Refunds tab.
Check the program name, enrollment date, and refund policy.
Choose to approve or reject based on cancellation policy.
Enter the refund amount and confirm for wallet credit.
Instructor Lesson Refunds
Manage refunds from cancelled instructor lessons. These are generated when a member cancels a booked lesson with an instructor.
Refunds Table
| Booking ID | User Name | Instructor Name | Amount | Status | Date | Actions |
|---|---|---|---|---|---|---|
| #INS-54321 | Mike Johnson | Coach Alex | $60.00 | Cancelled | 2026-03-26 | View / Approve / Reject |
| #INS-54322 | Lisa Chen | Coach Sarah | $75.00 | Approved | 2026-03-23 | View / Reverse |
Workflow: Instructor Refund Processing
A refund entry is created with status Cancelled.
View pending refund requests in the Instructor Refunds tab.
Check the instructor, lesson time, and cancellation terms.
Process the refund request based on cancellation policies.
Enter the refund amount and process wallet credit.
Refund Details Page
When you click a refund record, you see the booking type badge and all relevant details:
🟣 Court Booking — Refund from a cancelled court reservation
🔵 Program Booking — Refund from a cancelled program enrollment
🟢 Instructor Booking — Refund from a cancelled instructor lesson
Universal Actions (All Refund Types)
Approve Refund
Status updates: Cancelled → Approved.
Provide the refund amount and confirm.
Refund is processed and credited to the user wallet.
Reject Refund
Status updates: Cancelled → Rejected.
No refund is processed and the user wallet remains unchanged.
Key Features
| Feature | What It Means |
|---|---|
| Category-based organization | Refunds are organized by booking type (Court, Program, Instructor) for easy filtering. |
| Consistent table structure | All refund types share the same approval/rejection workflow. |
| Booking type identification | Color-coded badges clearly indicate which type of refund is being processed. |
| Automatic refund creation | Refund entries are created when any booking is cancelled. |
| Wallet-based processing | Approved refunds credit the user wallet across all refund types. |
Validation Rules
| Rule | Dependency / Behavior |
|---|---|
| Refund exists only after booking cancellation | Refund entries are created from the booking cancellation event. |
| Refund must be approved before amount entry | Amount is entered only when approving. |
| Refund amount must be valid | Refund amount must be non-negative. |
| Wallet is updated only upon approval | Rejected refunds do not affect user balance. |
| Rejected refunds cannot be processed again | Once rejected, the refund request is final. |
Expected Outcome
Refunds are processed accurately based on booking type and admin action. Clear categorization makes it easy to manage different refund types, approved refunds are credited to the user wallet, rejected refunds do not affect user balance, and refund status records remain clear and auditable.
↑ Back to topPro Shop
The Pro Shop module allows administrators to manage products for sale or rental, including pricing, stock, availability, and transaction lifecycle tracking.
Product List Overview
Displays all created products.
| Column | Description |
|---|---|
| Product Name | Name of the product. |
| SKU | Unique product identifier. |
| Product Type | Sale / Rental. |
| Price / Rate | Selling price or rental rate. |
| Stock | Available quantity. |
| Status | Active / Low Stock / Out of Stock / Hidden. |
| Created Date | Date of creation. |
| Actions | Edit / Clone / Deactivate / Delete. |
Filters & Controls
| Filter | Description |
|---|---|
| Search | By product name or SKU. |
| Product Type | Sale / Rental. |
| Status | Active / Low Stock / Out of Stock / Hidden. |
| Category | Filter by product category. |
| Date Range | Filter by creation date. |
Create Product
Click Create Product to add a new product.
Product Details Form
| Field Name | Type | Description | Required |
|---|---|---|---|
| Product Name | Text | Enter product name. | Yes |
| Description | Text Area | Product details. | No |
| SKU | Text | Unique identifier. | No |
| Product Type | Dropdown | Sale / Rental. | Yes |
| Category | Dropdown | Assign category. | No |
| Tax Group | Dropdown | For reporting. | No |
| Revenue Group | Dropdown | For reporting. | No |
| Stock / Quantity | Number | Available quantity. | Yes |
| Status | Dropdown | Active / Hidden. | Yes |
Pricing Configuration
| Sale Products | Description |
|---|---|
| Base Price | Original selling price. |
| Offer Type | Percent / Flat discount. |
| Offer Value | Discount value. |
| Final Price | Calculated automatically. |
| Rental Products | Description |
|---|---|
| Rental Unit | Hour / Day. |
| Rental Rate | Price per unit. |
| Deposit | Optional refundable amount. |
| Offer Type | Percent / Flat discount. |
| Offer Value | Discount value. |
Product Lifecycle Tracking
| Status | Description |
|---|---|
| Active | Available for sale/rental. |
| Low Stock | Below configured threshold. |
| Out of Stock | No stock available. |
| Rented | Currently rented. |
| Returned | Rental completed/returned. |
Sell a Product
Admins can sell products to individual users directly from the Pro Shop.
Transaction Form
| Field Name | Type | Description |
|---|---|---|
| Select User | Search Dropdown | Choose user to sell to. |
| Product / Variant | Dropdown | Select product or variant to sell. |
| Quantity | Number | Number of items to sell. |
| Price Override | Number | Adjust price per user (optional). |
| Payment Method | Dropdown | POS / Wallet / Pay Later. |
| Notes | Text Area | Optional transaction notes. |
System Behavior
| Functionality | Description |
|---|---|
| Price Calculation | Based on base/offer pricing or override. |
| Invoice Generation | Auto-generated after sale transaction. |
| Stock Update | Reduces available stock immediately. |
| Status Update | Updates product lifecycle status. |
Notifications & Emails
| Trigger | Recipient |
|---|---|
| Product Sold | User + Admin. |
| Low Stock Alert | Admin. |
| Out of Stock Alert | Admin. |
Sales History Overview
The Sales History section displays all completed product sales transactions with comprehensive filtering and search capabilities.
Sales History List
| Column | Description |
|---|---|
| Transaction ID | Unique identifier for the sale. |
| Date | Date and time of the sale. |
| User | Customer who purchased the item. |
| Product | Product name and variant. |
| Quantity | Number of items sold. |
| Unit Price | Price per item. |
| Total Amount | Total transaction amount. |
| Payment Method | POS / Wallet / Pay Later. |
| Status | Completed / Refunded / Cancelled. |
Filters & Search
| Filter | Description |
|---|---|
| Date Range | Filter sales by custom date range. |
| User Search | Search by customer name or email. |
| Product | Filter by specific product. |
| Payment Method | Filter by payment type. |
| Status | Filter by transaction status. |
| Amount Range | Filter by transaction amount. |
Actions
| Action | Description |
|---|---|
| View Details | View complete transaction details and invoice. |
| Print Receipt | Print or download transaction receipt. |
| Refund | Process refund for completed sale. |
| Export | Export selected transactions to CSV/PDF. |
Refund Processing
| Status | Description | Actions |
|---|---|---|
| Completed | Sale successfully processed. | Refund available. |
| Refunded | Amount returned to customer. | View refund details. |
| Cancelled | Transaction cancelled before completion. | No refund needed. |
Sales Analytics
| Metric | Description |
|---|---|
| Total Sales | Sum of all completed sales. |
| Average Order Value | Average amount per transaction. |
| Top Products | Most frequently sold items. |
| Sales by Category | Revenue breakdown by product category. |
| Payment Method Distribution | Sales split by payment method. |
Rent a Product
Admins can rent products to individual users directly from the Pro Shop.
Rental Transaction Form
| Field Name | Type | Description |
|---|---|---|
| Select User | Search Dropdown | Choose user to rent to. |
| Product / Variant | Dropdown | Select rental product or variant. |
| Quantity | Number | Number of items to rent. |
| Rental Duration | Number | Duration of rental period. |
| Price Override | Number | Adjust rental rate per user (optional). |
| Payment Method | Dropdown | POS / Wallet / Pay Later. |
| Notes | Text Area | Optional rental notes. |
Rental System Behavior
| Functionality | Description |
|---|---|
| Rental Calculation | Rate × duration + deposit (if applicable). |
| Invoice Generation | Auto-generated after rental transaction. |
| Stock Reservation | Temporarily reserves items from stock. |
| Return Tracking | Monitors rental period and return status. |
Rental Notifications & Emails
| Trigger | Recipient |
|---|---|
| Product Rented | User + Admin. |
| Product Returned | User + Admin. |
| Rental Overdue | User + Admin. |
| Low Stock Alert | Admin. |
| Out of Stock Alert | Admin. |
Rental History Overview
The Rental History section displays all completed equipment rental transactions with return status and duration tracking.
Rental History List
| Column | Description |
|---|---|
| Transaction ID | Unique identifier for the rental. |
| Rental Date | Date and time when rental started. |
| Return Date | Actual or expected return date. |
| User | Customer who rented the item. |
| Product | Equipment name and variant. |
| Duration | Rental period (hours/days). |
| Total Amount | Total rental cost including deposit. |
| Deposit | Refundable deposit amount. |
| Status | Returned / Overdue / Lost / Damaged. |
Filters & Search
| Filter | Description |
|---|---|
| Date Range | Filter rentals by rental or return date. |
| User Search | Search by customer name or email. |
| Product | Filter by specific equipment. |
| Status | Filter by rental status. |
| Overdue Only | Show only overdue rentals. |
| Amount Range | Filter by rental amount. |
Actions
| Action | Description |
|---|---|
| View Details | View complete rental details and agreement. |
| Process Return | Mark item as returned and process deposit refund. |
| Extend Rental | Extend rental period for active rentals. |
| Report Damage/Loss | Report equipment damage or loss. |
| Print Agreement | Print or download rental agreement. |
| Export | Export selected rentals to CSV/PDF. |
Pro Shop Reports
| Report | Description |
|---|---|
| Sales Report | Product sales and revenue. |
| Rental Report | Active and returned rentals. |
| Stock Report | Inventory levels. |
| Revenue Report | Earnings breakdown. |
Filters
| Filter | Options |
|---|---|
| Date Range | Custom. |
| Product | Name. |
| Variant | Variant. |
| User | Consumer. |
| Type | Sale / Rental. |
| Payment Method | POS / Wallet / Card. |
Export
| Format | Notes |
|---|---|
| CSV | Download report data as CSV. |
| Download report output as PDF. |
Audit & Traceability
| Field | Description |
|---|---|
| Action Type | Create / Edit / Sale / Rental. |
| Admin ID | Who performed the action. |
| Product / Variant | Affected item. |
| User | Associated user (if applicable). |
| Timestamp | Action time. |
| Changes | Previous vs updated values. |
Revenue Categories Overview
Revenue Categories allow administrators to classify and organize Pro Shop income for better financial reporting and analysis.
Categories List
| Column | Description |
|---|---|
| Category Name | Name of the revenue category. |
| Description | Optional description of the category. |
| Product Count | Number of products assigned to this category. |
| Total Revenue | Cumulative revenue from this category. |
| Status | Active / Inactive. |
| Created Date | Date the category was created. |
| Actions | Edit / Delete / View Products. |
Create Revenue Category
| Field Name | Type | Description | Required |
|---|---|---|---|
| Category Name | Text | Enter category name. | Yes |
| Description | Text Area | Optional category description. | No |
| Status | Dropdown | Active / Inactive. | Yes |
Category Management Actions
| Action | Description |
|---|---|
| Create Category | Add a new revenue category. |
| Edit Category | Modify category name, description, or status. |
| Delete Category | Remove category (only if no products are assigned). |
| View Products | See all products in this category. |
| Revenue Report | View revenue breakdown by category. |
Category Analytics
| Metric | Description |
|---|---|
| Product Count | Number of products per category. |
| Sales by Category | Revenue generated by category. |
| Popular Categories | Most sold categories. |
| Category Performance | Sales trends by category over time. |
Category Assignment
| Functionality | Description |
|---|---|
| Product Assignment | Assign products to categories during product creation/editing. |
| Multiple Categories | Allow products to belong to multiple revenue categories. |
| Bulk Assignment | Assign multiple products to a category at once. |
| Category Filtering | Filter products by revenue category in product lists. |
Reports
The Reports module provides detailed insights into memberships, bookings, programs, instructors, and revenue to support both operational and business decisions.
Membership Reports Overview
The Memberships report provides comprehensive analytics on membership subscriptions, including active members, new signups, churn rates, and plan distribution.
Key Metrics
| Metric | Description |
|---|---|
| Active Members | Current number of active membership subscriptions |
| New Signups | Members who joined within the selected time period |
| Churn Rate | Percentage of members who cancelled their memberships |
| Plan Distribution | Breakdown of members by membership plan type |
| Revenue by Plan | Total revenue generated by each membership plan |
| Average Revenue Per Member | ARPU calculation for membership plans |
Report Filters
| Filter | Options |
|---|---|
| Date Range | Custom date range, last 7 days, last 30 days, last 90 days, year-to-date |
| Membership Plan | All plans or specific plan types |
| Member Status | Active, Inactive, Cancelled, Expired |
| Payment Status | Paid, Pending, Overdue, Failed |
Export Options
| Format | Description |
|---|---|
| Excel (.xlsx) | Detailed membership data with all metrics and filters applied |
| CSV | Raw data export for external analysis |
| PDF Report | Formatted report with charts and summaries |
Transaction Reports Overview
The Transactions report provides detailed financial analytics including total revenue, payment methods distribution, and revenue trends over time.
Key Metrics
| Metric | Description |
|---|---|
| Total Revenue | Sum of all successful transactions within the selected period |
| Transaction Count | Total number of successful transactions |
| Average Transaction Value | Average amount per transaction |
| Payment Methods | Breakdown by payment method (Card, Wallet, POS, etc.) |
| Daily/Monthly Trends | Revenue trends over time periods |
| Failed Transactions | Count and reasons for failed payment attempts |
Report Filters
| Filter | Options |
|---|---|
| Date Range | Custom date range, last 7 days, last 30 days, last 90 days, year-to-date |
| Transaction Type | Memberships, Bookings, Pro Shop Sales, Program Enrollments, Refunds |
| Payment Method | All methods or specific payment types |
| Amount Range | Filter by transaction amount thresholds |
| Status | Completed, Pending, Failed, Refunded |
Export Options
| Format | Description |
|---|---|
| Excel (.xlsx) | Detailed transaction data with all financial metrics |
| CSV | Raw transaction data for accounting software |
| PDF Report | Formatted financial report with charts and summaries |
| QuickBooks Export | Formatted for QuickBooks accounting integration |
Revenue Breakdown
| Revenue Source | Description |
|---|---|
| Membership Fees | Recurring membership subscription revenue |
| Court Bookings | Revenue from court reservation fees |
| Instructor Lessons | Revenue from instructor-led sessions |
| Pro Shop Sales | Revenue from product and equipment sales |
| Program Enrollments | Revenue from program and class registrations |
| Refunds | Negative revenue from refund transactions |
Bookings Report Overview
The Bookings report provides insights into court utilization, booking patterns, peak hours, and cancellation rates to optimize facility management.
Key Metrics
| Metric | Description |
|---|---|
| Total Bookings | Number of bookings created within the selected period |
| Court Utilization Rate | Percentage of available court slots that were booked |
| Cancellation Rate | Percentage of bookings that were cancelled |
| Average Booking Value | Average revenue per booking |
| Peak Booking Hours | Times with highest booking demand |
| Revenue by Court | Total revenue generated per court |
Report Filters
| Filter | Options |
|---|---|
| Date Range | Custom date range, last 7 days, last 30 days, last 90 days, year-to-date |
| Court | All courts or specific court types |
| Booking Status | Confirmed, Cancelled, Completed, No-show |
| Time of Day | Peak hours, off-peak hours, all hours |
| Member Type | All members or specific membership plans |
Export Options
| Format | Description |
|---|---|
| Excel (.xlsx) | Detailed booking data with utilization metrics |
| CSV | Raw booking data for analysis |
| PDF Report | Formatted report with charts and utilization summaries |
Instructor Bookings Report Overview
The Instructor Bookings report tracks instructor lesson schedules, performance metrics, and revenue contribution to support staff management and scheduling.
Key Metrics
| Metric | Description |
|---|---|
| Lessons Booked | Total number of lessons scheduled with instructors |
| Revenue per Instructor | Total revenue generated by each instructor |
| Lessons Completed | Number of lessons successfully completed |
| Cancellation Rate | Percentage of instructor lessons cancelled |
| Average Rating | Student satisfaction ratings for instructor sessions |
| Workload Distribution | Lessons and hours per instructor over the period |
Report Filters
| Filter | Options |
|---|---|
| Date Range | Custom date range, last 7 days, last 30 days, last 90 days, year-to-date |
| Instructor | All instructors or specific instructor selection |
| Lesson Type | All lesson types or specific categories |
| Session Status | Scheduled, Completed, Cancelled, No-show |
| Rating Range | Filter by student satisfaction ratings |
Export Options
| Format | Description |
|---|---|
| Excel (.xlsx) | Detailed instructor performance and financial data |
| CSV | Raw lesson booking and scheduling data |
| PDF Report | Formatted report with instructor performance summaries |
Program Analytics Report Overview
The Program Analytics report provides insights into program enrollment, completion rates, engagement, and participation trends to evaluate program effectiveness.
Key Metrics
| Metric | Description |
|---|---|
| Total Enrollments | Number of members enrolled in programs during the period |
| Completion Rate | Percentage of enrolled members who complete the program |
| Dropout Rate | Percentage of enrolled members who drop out |
| Average Engagement | Average participation level per member |
| Program Capacity | Enrollment as percentage of program capacity |
| Member Satisfaction | Average rating and feedback scores for programs |
Report Filters
| Filter | Options |
|---|---|
| Date Range | Custom date range, last 7 days, last 30 days, last 90 days, year-to-date |
| Program | All programs or specific program selection |
| Program Category | Fitness, Training, Events, Other categories |
| Status | Active, Completed, Cancelled, Upcoming |
| Member Level | Beginner, Intermediate, Advanced, All levels |
Export Options
| Format | Description |
|---|---|
| Excel (.xlsx) | Detailed program engagement and completion data |
| CSV | Raw enrollment and participation data |
| PDF Report | Formatted report with program performance analysis |
Program Revenue Report Overview
The Program Revenue report tracks financial performance of programs including enrollment revenue, payment status, and revenue trends across program offerings.
Key Metrics
| Metric | Description |
|---|---|
| Total Program Revenue | Sum of all program enrollment fees collected |
| Revenue by Program | Financial performance breakdown per program |
| Enrollment Count | Number of paid program enrollments |
| Average Enrollment Value | Average revenue per enrollment |
| Payment Status | Breakdown of paid, pending, and overdue payments |
| Revenue Trends | Program revenue patterns over time |
Report Filters
| Filter | Options |
|---|---|
| Date Range | Custom date range, last 7 days, last 30 days, last 90 days, year-to-date |
| Program | All programs or specific program selection |
| Program Category | All categories or specific types |
| Payment Status | Paid, Pending, Overdue, Failed, Refunded |
| Instructor | All instructors or specific instructor filter |
Export Options
| Format | Description |
|---|---|
| Excel (.xlsx) | Detailed program revenue and payment data |
| CSV | Raw enrollment and revenue data for accounting |
| PDF Report | Formatted financial report with revenue analysis |
Revenue Report Overview
The Revenue Report provides comprehensive financial analytics across all revenue streams, including memberships, bookings, programs, pro shop sales, and other income sources to support strategic financial planning and performance monitoring.
Key Metrics
| Metric | Description |
|---|---|
| Total Revenue | Sum of all revenue from all sources within the selected period |
| Revenue Growth | Percentage change in revenue compared to previous period |
| Revenue by Source | Breakdown of revenue by category (Memberships, Bookings, Programs, Pro Shop, etc.) |
| Monthly/Quarterly Trends | Revenue patterns and trends over time |
| Average Revenue Per Member | ARPU across all revenue streams |
| Profit Margins | Gross profit calculations by revenue source |
| Top Revenue Contributors | Highest performing revenue categories and items |
Report Filters
| Filter | Options |
|---|---|
| Date Range | Custom date range, last 7 days, last 30 days, last 90 days, year-to-date, fiscal year |
| Revenue Source | All sources or specific categories (Memberships, Bookings, Programs, Pro Shop, Refunds) |
| Location/Court | All locations or specific facility filters |
| Payment Status | Paid, Pending, Overdue, Failed, Refunded |
| Amount Range | Filter by revenue amount thresholds |
| Comparison Period | Compare with previous period, same period last year |
Export Options
| Format | Description |
|---|---|
| Excel (.xlsx) | Comprehensive revenue data with all metrics and breakdowns |
| CSV | Raw revenue data for accounting and analysis software |
| PDF Report | Formatted financial report with charts, trends, and summaries |
| QuickBooks Export | Formatted for QuickBooks accounting integration |
| Tax Preparation | Summarized data formatted for tax reporting |
Revenue Breakdown by Source
| Revenue Source | Description | Typical Contribution |
|---|---|---|
| Membership Fees | Recurring subscription revenue from membership plans | 40-60% |
| Court Bookings | Revenue from court reservation and facility usage fees | 20-30% |
| Program Enrollments | Revenue from program and class registrations | 10-20% |
| Instructor Lessons | Revenue from private and group instructor-led sessions | 5-15% |
| Pro Shop Sales | Revenue from equipment, apparel, and merchandise sales | 5-10% |
| Other Services | Additional revenue from events, tournaments, and special services | 0-5% |
Expected Outcome
Accurate reporting across all modules, clearer visibility into revenue and operations, and data-driven decision making for admins.
↑ Back to topNotifications
Notifications Module
Overview
The Notifications module ensures users are informed of booking-related actions in real time. Notifications are sent automatically via email and, if enabled, in-app, covering the full booking lifecycle.
Notifications Module
Overview
The Notifications module ensures users are informed of booking-related actions in real time. Notifications are sent automatically via email and, if enabled, in-app, covering the full booking lifecycle.
Email Channel Overview
Email notifications provide full booking details and are sent automatically to recipients.
Email Template Types
| Template Type | Trigger Event | Content Details |
|---|---|---|
| Booking Confirmation | Court Booking Creation | Full booking details: type, date, time, duration, court & location, player & guest information, payment summary, booking status |
| Booking Update | Court Booking Update | Updated booking information with change highlights and new status |
| Booking Cancellation | Court Booking Cancellation | Cancellation confirmation with refund details and cancellation reason |
Email Content Structure
| Field | Description | Format |
|---|---|---|
| Booking Type | E.g., Court Booking | Text |
| Date, Start Time, Duration | Scheduled booking time details | Formatted datetime |
| Court & Location Details | Assigned venue and court | Text with location info |
| Player & Guest Information | Names and participant details | Formatted list |
| Payment Summary | Total amount and split payment details | Currency formatted |
| Booking Status | Created, Updated, or Cancelled | Status badge |
SMS Channel Overview
SMS notifications provide concise alerts for time-sensitive booking information.
SMS Template Types
| Message Type | Character Limit | Purpose | Key Information |
|---|---|---|---|
| Booking Reminder | 160 | Sent before scheduled booking time | Date, time, court location |
| Cancellation Alert | 160 | Sent when booking is cancelled | Cancellation status, refund info |
| Payment Confirmation | 160 | Sent after successful payment | Payment amount, booking reference |
SMS Content Guidelines
| Guideline | Requirement | Example |
|---|---|---|
| Brevity | Under 160 characters | "Court booking confirmed for Today 3PM" |
| Clarity | Essential info only | "Court A, EPIC Sports - Booking #12345" |
| Action | Clear next steps | "Reply CANCEL to modify booking" |
Push Notification Channel Overview
Push notifications provide real-time updates to the mobile app with instant delivery.
Push Template Types
| Push Type | Max Length | Delivery | User Action |
|---|---|---|---|
| Booking Created | 50 chars | Instant delivery to mobile app | Tap to view details |
| Booking Updated | 50 chars | Real-time update to mobile app | Tap to see changes |
| Booking Cancelled | 50 chars | Immediate alert to mobile app | Tap to view status |
Push Notification Features
| Feature | Description | Benefit |
|---|---|---|
| Real-Time Updates | Latest booking status shown immediately | Instant awareness of changes |
| Actionable Messages | Clear booking context provided | Quick decision making |
| Unread Counter | Bell icon reflects unread count | Visual notification tracking |
User Notification Preferences
Users can control which events trigger which notification types for personalized experience.
Preference Options
| Preference | Options | Default | Impact |
|---|---|---|---|
| Email Notifications | Enabled/Disabled | Enabled | Receives detailed email notifications |
| SMS Notifications | Enabled/Disabled | Disabled | Receives SMS alerts for key events |
| Push Notifications | Enabled/Disabled | Enabled | Receives real-time app notifications |
| Notification Frequency | Instant/Daily Summary | Instant | Controls delivery timing |
Notification Recipients
| Recipient Type | Notifications Received | Purpose |
|---|---|---|
| Admin | All notifications | Operational oversight |
| Player(s) | Own booking notifications | Personal booking management |
Notification Template Management
Templates define the structure and content of automated notifications across all channels.
Template Categories
| Template Category | Usage | Customization | Variables |
|---|---|---|---|
| Booking Lifecycle | All booking events | Full customization | Booking details, user info |
| Payment Events | Payment confirmations | Limited customization | Amount, payment method |
| System Alerts | Maintenance and updates | System-defined | System messages |
Notification Triggers
| Event | Description | Template Used |
|---|---|---|
| Court Booking Creation | Triggered when a new booking is successfully created | Booking Confirmation Template |
| Court Booking Update | Triggered when an existing booking is edited | Booking Update Template |
| Court Booking Cancellation | Triggered when a booking is cancelled | Booking Cancellation Template |
Custom Notification Campaigns
Create one-off or recurring manual notification campaigns for targeted communications.
Campaign Types
| Campaign Type | Audience | Scheduling | Use Case |
|---|---|---|---|
| Announcement | All Users/Specific Groups | Immediate or Scheduled | General announcements |
| Maintenance Alert | All Users | Immediate | System maintenance notices |
| Marketing Campaign | Targeted Segments | Scheduled | Promotional communications |
Key Actions for Notification Management
| Action | How | Purpose |
|---|---|---|
| View Notifications | Notifications load automatically in chronological order | Review notification history |
| Mark as Read | Click the check icon on any notification row | Manage read status |
| Mark All as Read | Click Mark All as Read button at the top of the list | Bulk status update |
| Load More | Use pagination controls at the bottom of the list | Navigate extensive history |
Purpose & Benefits
| Benefit | Impact |
|---|---|
| Transparency | All booking actions are clearly communicated |
| Reduced miscommunication | Admins and players stay aligned on booking changes |
| Real-time updates | Supports faster responses and clear action-taking |
| Channel redundancy | Email + in-app delivery improves message reliability |
Content for the Notification Center will be added here. This section is reserved for future implementation.
The Notification Center will provide centralized management and viewing capabilities for all system notifications.
Announcements
Overview
The Announcements module allows administrators to create and manage platform-wide messages targeted to specific user groups with configurable priority, visibility, and actions.
Workflow: Create an Announcement
Open the Admin Dashboard and select Announcements.
Open the announcement creation form.
Set title, content, type, and priority.
Choose start and end date/time for when the announcement should be visible.
Choose which users or groups should receive the announcement.
Set CTA (optional), home page visibility, dismissable behavior, and whether the announcement is active. Click Create to publish.
Create Announcement — Form Fields
| Field | Type | Required | Description / Behavior |
|---|---|---|---|
| Title | Input | Required | Title of the announcement. |
| Content | Textarea | Required | Detailed message content. |
| Type | Dropdown | Required | Defines message style (Success, Warning, Danger, Info). |
| Priority | Dropdown | Required | Priority level: Low, Medium, High. |
| Start DateTime | Date-Time Picker | Required | When the announcement becomes active. |
| End DateTime | Date-Time Picker | Required | When the announcement expires. |
| Target Audience | Multi-select | Required | Select users or groups to target. |
| Action Button Text | Input | Optional | CTA button label. |
| Action URL | Input | Optional | Redirect link for CTA. |
| Active | Checkbox | Optional | Enables/disables visibility. |
| Dismissable | Checkbox | Optional | Allows users to close the announcement. |
| Show on Home Page | Checkbox | Optional | Displays the announcement on the home screen. |
Target Audience Selection
Click any audience button below to view detailed information and selection options. Each audience type opens a modal with specific configuration options.
- Click any button to simulate opening the audience selection modal
- Modal Content shows detailed explanation of the audience type
- Sub-options displays relevant filters or search options
- Action Buttons provides Confirm/Cancel functionality
- Clean Interface maintains minimal-click design with clear visual hierarchy
Key Features
| Feature | Benefit |
|---|---|
| Targeted announcements | Send messages to the right groups without broadcasting everything to everyone. |
| Active scheduling | Control visibility using active state and start/end times. |
| Type & priority controls | Use Success/Warning/Danger/Info and Low/Medium/High priority styling. |
| CTA buttons (optional) | Add a button with a redirect URL for quick actions. |
| Dismissable messages | Allow users to close announcements for better UX. |
Validation Rules
| Rule | Dependency / Behavior |
|---|---|
| Title and Content are mandatory | Publish is blocked until both fields are provided. |
| Start DateTime must be before End DateTime | Prevents invalid scheduling windows. |
| At least one target audience must be selected | Prevents announcements from being created with no recipients. |
| Visibility is limited by Active and schedule | The announcement is shown only when Active is enabled and the current time is within the start/end window. |
Expected Outcome
An announcement is created and displayed to the selected audience. Visibility is controlled by active status and scheduling, and users can interact with or dismiss it based on your configuration.
Announcements List View
The Announcements page displays all created announcements with management and filtering options.
Available Filters
| Filter | Description |
|---|---|
| Search filter | Find specific announcements by keyword in title or content. |
| Status filter | All / Active / Inactive / Scheduled / Expired |
| Type filter | Success / Warning / Danger / Info |
| Priority filter | Low / Medium / High |
| Target Audience filter | Filter by audience type: All Users, All Package Subscribers, All Program Enrollees, All Lesson Bookers, Package Subscribers, Program Enrollees, Lesson Bookers, Specific Users |
| Date range filter | Filter announcements by creation date or active period. |
Announcements List Table
| Title | Audience Type | Type | Priority | Status | Start Date | End Date | Actions |
|---|---|---|---|---|---|---|---|
| Welcome Message | All Users | Info | Low | Active | 2024-01-01 00:00 | 2024-12-31 23:59 | Edit · Delete |
| Package Renewal Reminder | All Package Subscribers | Warning | Medium | Active | 2024-03-01 09:00 | 2024-03-31 17:00 | Edit · Delete |
| Program Schedule Update | All Program Enrollees | Info | High | Scheduled | 2024-03-15 08:00 | 2024-03-15 20:00 | Edit · Delete |
| Lesson Cancellation Notice | Lesson Bookers | Danger | High | Expired | 2024-02-20 10:00 | 2024-02-20 12:00 | Edit · Delete |
| Personal Training Offer | Specific Users | Success | Medium | Active | 2024-03-10 00:00 | 2024-03-20 23:59 | Edit · Delete |
Note: The Audience Type column shows the primary audience category for each announcement. Announcements can target multiple audience types simultaneously.
↑ Back to topQuestions & Onboarding
Questions & Onboarding allows admins to create and manage user questions and onboarding questionnaires. Questions can include options, dependencies, and different input types to build dynamic and structured onboarding flows.
Questions List View
The Questions page displays all created questions with management and filtering options.
Available Filters & Information
| Filter / Counter | Description |
|---|---|
| Search filter | Find specific questions by keyword. |
| Status filter | All / Active / Inactive |
| Question Types | Text · Single Choice · Multiple Choice · Number · Date |
| Total Questions | Count of all questions in the system. |
| Active Questions | Count of currently active questions. |
| Questions with Options | Count of questions that have answer options configured. |
| Questions with Dependencies | Count of questions that are conditionally triggered by another question. |
Choose from: Text, Single Choice, Multiple Choice, Number, or Date.
Switch On or Off to control whether this question is active.
Click Add Option, enter an option value, and repeat to add multiple options.
Select the dependent question, define the answer condition that triggers this question, and add Question and Answer logic as required.
Modify question text, type, options, dependencies, or status as needed.
Overview
Onboarding Questionnaires allow admins to manage user onboarding questions and configure the registration flow. Questionnaires can be global or sport-specific, and control which questions are shown to users during onboarding.
How to Access
Select Settings from the left-side menu.
Questionnaires List View
The Onboarding Questionnaires page provides an overview of all questionnaires and their status.
| Counter / Column | Description |
|---|---|
| Total Questions | Total number of questionnaires in the system. |
| Active Questions | Count of currently active questionnaires. |
| Global Questionnaires | Count of questionnaires applied across all sports. |
| Sport-Specific Questionnaires | Count of questionnaires scoped to a specific sport. |
| Name | Questionnaire name. |
| Type | Text / Single Select / Multi Select |
| Scope | Global or Sport-specific |
| Order | Display order in the onboarding flow. |
| Status | Active / Inactive |
| Actions | View / Edit / Delete |
Select and add questions to include in this questionnaire.
For each question, set: Question Text, Question Type (Text / Single Select / Multi Select), and Display Order.
Enable if the questionnaire should be shown for all sports. Disable for sport-specific questionnaires.
Enable or disable the questionnaire during onboarding.
Opens the questionnaire detail view.
Modify questions, types, order, scope, or status as needed.
Content
The Content module allows admins to manage content tags and the content list. Use the sub-tabs below to navigate between each area.
Overview
Content Tags allow admins to categorise and filter content items across the dashboard. Tags can be created in bulk, searched, and deleted individually or in groups.
Search & Filter Tags
Use the search bar above the tag list to filter tags in real time. Type any part of a tag name to instantly narrow the results.
Creating New Tags
Click the Create New Tags button to open the tag creation form. You can enter multiple tags at once.
Located in the top-right corner of the Content Tags page.
| Field | Description | Required |
|---|---|---|
| Tag Names * |
Enter one or more tag names. Separate multiple tags using commas or new lines. Example: Sports, Tennis Basketball Football |
Required |
| Button | Action |
|---|---|
| Create Tags | Saves all entered tags and adds them to the tag list immediately. The total counter updates. |
| Cancel | Closes the form without saving any tags. |
Tag List
All created tags are displayed in a list. Each tag has a checkbox for selection and a delete action.
| Column | Description |
|---|---|
| Checkbox | Select one or more tags for bulk deletion. |
| Tag Name | The label of the tag, e.g. Sports, Tennis. |
| Created At | Date and time the tag was created. |
| Delete | Permanently remove the tag. |
Delete a Single Tag
Delete Multiple Tags
👤 User Management
| Sub-section | Route | Purpose |
|---|---|---|
| User Management | /settings/user-management/user-management | Manage admin dashboard users — add, edit, deactivate. |
| User Roles | /settings/user-management/user-roles | Define role-based access levels (Admin, Staff, Viewer). |
📄 Terms & Conditions
| Sub-section | Route | Purpose |
|---|---|---|
| Terms & Conditions | /settings/terms-and-conditions | Create and manage the Terms & Conditions displayed to users during registration and booking. |
Routing
💳 Payment Settings
| Sub-section | Route | Purpose |
|---|---|---|
| Tax Groups | /settings/payment-settings/tax-groups | Create tax rules with rates and applicable regions. |
| Pricing Rules | /settings/payment-settings/pricing-rules | Set dynamic pricing, discounts, peak/off-peak rates. |
| Subscription Plans | /settings/payment-settings/subscription-plans | Create and manage membership subscription packages. |
🏟️ Court & Location Management
| Sub-section | Route | Purpose |
|---|---|---|
| Locations | /settings/court-settings/locations | Manage facility locations and sites. |
| Courts | /settings/court-settings/courts | Create and manage court configurations. |
| Reservation Types | /settings/court-settings/reservation-types | Define booking reservation types and rules. |
| Court Schedules | /settings/court-settings/court-schedules | Set court operating hours and availability schedules. |
| Court Admins | /settings/court-settings/court-admins | Manage court administrator permissions and access. |
| Receptionist | /settings/court-settings/receptionist | Configure receptionist duties and front desk operations. |
⚽ Sports Settings
| Sub-section | Route | Purpose |
|---|---|---|
| Sports | /settings/sports-settings/sports | Manage sports categories and configurations. |
| Lesson Types | /settings/sports-settings/lesson-types | Define different lesson types and their properties. |
| Focus Area | /settings/sports-settings/focus-area | Configure focus areas for training and development. |
🔔 Notification Settings
| Sub-section | Route | Purpose |
|---|---|---|
| Email Templates | /settings/notification-settings/email-templates | Edit HTML email templates for booking confirmations, cancellations, etc. |
| SMS Templates | /settings/notification-settings/sms-templates | Customize SMS message text for automated notifications. |
| Push Templates | /settings/notification-settings/push-templates | Edit push notification content for member mobile app. |
| Notification Preferences | /settings/notification-settings/notification-preferences | Control which events trigger which notification types. |
| Custom Notifications | /settings/notification-settings/custom-notifications | Create one-off or recurring manual notification campaigns. |
🎓 Program Management
| Sub-section | Route | Purpose |
|---|---|---|
| Program Categories | /settings/program-management/program-categories | Create categories to group programs (e.g., Youth, Adult, Elite). |
| Program Sessions | /settings/program-management/program-sessions | Define session types used when creating programs. |
| Program Tags | /settings/program-management/program-tags | Create tags for filtering and searching programs. |
🛡️ Security
| Sub-section | Route | Purpose |
|---|---|---|
| Security Settings | /settings/security/security-settings | Configure security policies and access controls. |
| Two-Factor Authentication | /settings/security/two-factor-auth | Enable and manage 2FA for enhanced security. |
| Session Management | /settings/security/session-management | Monitor and control active user sessions. |
👤 User Management
| Sub-section | Route | Purpose |
|---|---|---|
| User Management | /settings/user-management/user-management | Manage admin dashboard users — add, edit, deactivate. |
| User Roles | /settings/user-management/user-roles | Define role-based access levels (Admin, Staff, Viewer). |
📄 Terms & Conditions
| Sub-section | Route | Purpose |
|---|---|---|
| Terms & Conditions | /settings/terms-and-conditions | Create and manage the Terms & Conditions displayed to users during registration and booking. |
Revenue Categories
Track Revenue
Link categories to booking types for accurate financial reporting.
Flexible Linking
Associate courts, instructors, programs, packages, and more.
Revenue Calculator
Estimate revenue impact before applying category changes.
Overview
Revenue Categories are used to manage pay-later bookings and support accurate financial tracking. Categories can be linked to different booking targets to track and calculate revenue impact.
List View
The Revenue Categories page displays all created categories with management options.
| Column | Description |
|---|---|
| Search | Filter categories by keyword. |
| Name | The category name. |
| Description | A brief description of the category's purpose. |
| Association | Booking targets currently linked to this category. |
| Edit | Modify the category details. |
| Delete | Permanently remove the category. |
| Field | Required | Notes |
|---|---|---|
| Name | Required | A short, descriptive label. e.g. "Court Revenue" |
| Description | Optional | Explain the category's purpose. e.g. "Covers all court booking income" |
| Association | Optional | Booking targets linked at creation time. |
Shows all linked items and gives access to the Revenue Calculator.
Revenue Calculator
The Revenue Calculator estimates revenue for a selected category over a date range before you link or unlink items — helping you make informed financial decisions.
Calculate Revenue
e.g. 01 Jan 2026 – 31 Jan 2026
A modal opens to select a target type. Choose one of:
Associate Targets
After selecting a target type, a list of matching items appears. Use the inline actions to link or unlink each item from the revenue category.
| Column | Description |
|---|---|
| ID | Unique identifier of the item. |
| Name | Name of the target item. |
| Link | Associate the item with this revenue category. |
| Unlink | Remove the item's association from this category. |
Tax Groups
Overview
Tax Groups let you define reusable tax rules by pairing a name with a rate. Once created, a tax group can be applied across pricing and billing configurations.
List View
The Tax Groups page shows all configured tax groups at a glance.
| Column | Description |
|---|---|
| Tax Group Name | The descriptive label for the tax rule. |
| Tax Rate | The applied percentage, e.g. 15 for 15%. |
| Created At | Date and time the group was created. |
| Updated At | Date and time of the most recent change. |
| Edit | Modify the name or rate. |
| Delete | Permanently remove the tax group. |
| Field | Required | Notes |
|---|---|---|
| Tax Group Name | Required | A clear label. e.g. "Standard VAT" or "Reduced Rate" |
| Tax Rate | Required | Enter as a whole number. e.g. 15 for 15% |
Booking Duration Management
📋 Overview
Booking Duration Management lets you define selectable time slots available when creating bookings. Add any standard duration (e.g. 30, 60, 90 minutes) to make it available system-wide.
⏱️ Common Booking Durations Quick access to frequently used time slots
📊 List View
All configured durations are listed here with search and management actions.
| Column | Description |
|---|---|
| Search | Filter durations by value. |
| Duration | The time value in minutes, e.g. 60 = 1 hour. |
| Created At | Date and time of duration was added. |
| Updated At | Date and time of most recent change. |
| Edit | Modify the duration value. |
| Delete | Permanently remove the duration. |
➕ Add Booking Duration
➕ Add Booking Duration
✏️ Edit Booking Duration
✏️ Edit Booking Duration
🗑️ Delete Booking Duration
🗑️ Delete Booking Duration
Labels Management
Overview
Labels let you tag and categorize prospects by priority, status, or follow-up stage. Use them to filter your prospects board and ensure no lead falls through the cracks.
| Field | Required | Notes |
|---|---|---|
| Name | Required | Short and descriptive. e.g. "Hot Lead" or "Follow Up" |
| Description | Optional | Explain when this label should be used. |
| Priority | Required | A number ranking. e.g. 1 = highest priority |
Geographic Settings
The Geographic Settings module in EPIC allows admins to manage countries, states, and provinces — including adding, editing, and deleting entries. These records populate address forms and location selectors across the dashboard.
Overview
Manage the list of countries available across the dashboard. Each country entry includes its display name, ISO code, dialing code, and flag image used in address and phone number fields.
Accessing Countries
Use your admin credentials at the login screen.
Click the Countries tab to manage country-level information.
Located in the top-right corner of the Countries list.
| Field | Required | Description |
|---|---|---|
| Country Name | Required | Full display name of the country. e.g. United States |
| Country Code | Required | ISO 3166-1 alpha-2 code. e.g. US, GB, CA |
| Phone Code | Required | International dialing prefix. e.g. +1, +44 |
| Phone Number | Optional | Sample or default contact number for the country. |
| Flag Image | Optional | Upload the country flag. JPEG or PNG, max 2 MB recommended. |
The newly added country will appear in the Country List and become available in all address and phone fields.
The edit form opens pre-populated with the current values.
Any field — name, code, phone code, or flag — can be changed.
A confirmation modal will appear.
Overview
Manage states and provinces linked to countries in the system. Each entry supports display ordering, homepage visibility, and publish status — giving admins full control over what appears in location selectors and public-facing pages.
Accessing States & Provinces
Use your admin credentials at the login screen.
Click the States & Provinces tab to manage state and province-level information.
Located in the top-right corner of the States & Provinces list.
| Field | Required | Description |
|---|---|---|
| State/Province Name | Required | Full display name. e.g. California, Ontario |
| Address | Optional | Address or descriptive text associated with the state/province. |
| Display Order | Optional | Integer controlling sort position in dropdowns and lists. Lower = higher. |
| Cover Image | Optional | Representative image for the state/province. JPEG or PNG, max 5 MB. |
| Show on Home Page | Optional | Toggle ON to feature this entry on the public homepage. |
| Publish Status | Optional | Toggle ON to publish. Unpublished entries are hidden from users. |
The newly added entry will appear in the States & Provinces list.
The edit form opens pre-populated with current values.
Any field including name, display order, visibility toggles, or cover image can be changed.
A confirmation modal will appear.
Court & Location Management
The Court & Location Management module in EPIC allows admins to manage courts, locations, and availability for all sports and programs.
Overview
The Locations module allows admins to create and manage physical locations, define their operational hours, and configure peak pricing periods.
Accessing Locations
-
1
Log in to the EPIC Admin Dashboard.
-
2
From the left-side menu, click on Locations to open the module.
Creating a Location
- 1Click the Create Location button.
- 2Fill in the following details:
| Field | Description | Required |
|---|---|---|
| Location Name | Enter the name of the location. | Required |
| Description | Add a brief description. | Optional |
| Cover Image | Upload an image representing the location. | Optional |
| Region | Specify the region. | Optional |
| Tax Group | Select applicable tax group. | Optional |
| Timezone | Add the location timezone. | Required |
| Phone | Enter contact number. | Optional |
| Enter email address. | Optional | |
| Website URL | Add the location website. | Optional |
| Displayed Order | Set the display order for the location. | Optional |
| Published Status | Toggle ON to publish the location. | Required |
- 3Click Save Location to add the location.
- 4The new location will appear in the Location List.
Editing a Location
- 1Locate the location in the Location List.
- 2Click the Edit icon next to the location.
- 3Update the required details (Name, Description, Cover Image, Region, Tax Group, Timezone, Phone, Email, Website, Displayed Order, Published Status).
- 4Click Update to save changes.
Deleting a Location
- 1Locate the location in the Location List.
- 2Click the Delete icon next to the location.
- 3Confirm deletion in the popup modal.
Adding Working Hours and Peak Hours
- 1Click on the created Location in the Location List.
- 2Open the Working Hours modal.
- 3Use Add Open Hours to define standard operational hours.
- 4Use Add Peak Hours to define peak times for pricing or scheduling.
- 5All working and peak hours will display for that location in the module.
Overview
The Court Management module in EPIC allows admins to create, manage, and configure courts across different locations, including activation and matchmaking settings.
Accessing Court Management
-
1
Log in to the EPIC Admin Dashboard.
-
2
From the left-side menu, click on Courts to open the Court Management module.
Adding a Court
- 1Click the Add Court button located at the top-right corner.
- 2Fill in the following details:
| Field | Description | Required |
|---|---|---|
| Court Name | Enter the name of the court. | Required |
| Location | Select the location from the dropdown list. | Required |
| Active Status | Toggle ON to activate the court. | Required |
| Matchmaking Enabled | Toggle ON or OFF as needed. | Optional |
- 3Click Save Court to add the court.
- 4A success message will appear: Court saved successfully.
Editing a Court
- 1Locate the court in the Court List.
- 2Click the Edit icon next to the court.
- 3Update the required details (Name, Location, Active Status, Matchmaking Enabled).
- 4Click Update to save changes.
Deleting a Court
- 1Locate the court in the Court List.
- 2Click the Delete icon next to the court.
- 3Confirm deletion in the popup modal.
Overview
The Reservation Management module in EPIC allows admins to configure reservation types — the booking categories that define how courts are used. Each reservation type (e.g. Open Play, Lesson, Match) controls player limits, pricing rules, and how bookings appear in the Scheduler.
Accessing Reservation Types
Use your admin credentials at the login screen.
Click Settings in the left-side menu, expand Court Settings, then click Reservation Types.
/settings/court-settings/reservation-typesList View
All configured reservation types are displayed in a list with the following columns:
| Column | Description |
|---|---|
| Name | The reservation type label shown during booking, e.g. Open Play, Lesson. |
| Min Players | Minimum number of participants required for this booking type. |
| Max Players | Maximum number of participants allowed. |
| Created At | Date and time the reservation type was added. |
| Edit | Modify the reservation type details. |
| Delete | Permanently remove the reservation type. |
Located in the top-right corner of the Reservation Types list.
| Field | Required | Description |
|---|---|---|
| Name | Required | Display label for the booking type. e.g. Open Play, Clinic, Match |
| Minimum Players | Required | Minimum participants needed for the booking to be valid. |
| Maximum Players | Required | Maximum participants allowed per booking of this type. |
| Description | Optional | Internal notes about when this reservation type should be used. |
The reservation type is immediately available when creating court bookings.
The edit form opens pre-populated with current values.
A confirmation modal will appear.
Overview
The Court Schedules module in EPIC allows admins to set operating hours and availability for courts across different locations. This ensures accurate scheduling and booking availability for users — defining both standard opening hours and peak periods that may influence pricing or capacity.
Accessing Court Schedules
Use your admin credentials at the login screen.
Navigate to Settings → Court Settings → Court Schedules.
/settings/court-settings/court-schedulesYou will be redirected to the Locations module. Select the desired location to configure its schedule.
Setting Opening and Peak Hours
Once a location is selected, use the Working Hours modal to define both standard and peak operating times.
All locations configured under Settings → Locations will appear here.
Click the schedule or hours icon next to the location to open the configuration modal.
Define the standard operating times for the location — the days and time ranges during which courts are available for booking.
| Field | Description |
|---|---|
| Day | Select the day(s) of the week the hours apply to. |
| Open Time | The time courts open for bookings at this location. |
| Close Time | The time courts close. No bookings can be made after this time. |
Specify peak periods within the opening hours. Peak hours can affect pricing or availability rules configured elsewhere.
| Field | Description |
|---|---|
| Day | Select the day(s) the peak period applies to. |
| Peak Start | Start time of the peak period. |
| Peak End | End time of the peak period. |
Click Save to apply the configured opening and peak hours to the location.
The working and peak hours will now be reflected for all courts in that location.
Overview
The Court Admins Users module allows super admins to assign and manage court-specific administrative privileges to users, enabling decentralized court management while maintaining overall system control.
Accessing Court Admins Users
-
1
Log in to the EPIC Admin Dashboard as a super admin.
-
2
Navigate to Settings → Court & Location Settings → Court Admins Users.
Assigning Court Admin Role
- 1Click the Assign Court Admin button.
- 2Fill in the following details:
| Field | Description | Required |
|---|---|---|
| User | Select an existing user from the system. | Required |
| Court | Choose the specific court(s) they will administer. | Required |
| Admin Level | Select permission level (Full Admin, Booking Only, View Only). | Required |
| Start Date | When the admin role becomes active. | Optional |
| End Date | When the admin role expires (leave blank for permanent). | Optional |
- 3Click Assign Role to grant admin access.
- 4The user will appear in the Court Admins List.
Managing Admin Permissions
- 1Find the court admin in the Court Admins List.
- 2Click the Edit Permissions icon.
- 3Modify the following settings:
| Permission | Description |
|---|---|
| Manage Bookings | Approve, cancel, or modify court reservations |
| View Reports | Access court-specific analytics and reports |
| Update Court Info | Modify court details, schedules, and settings |
| Manage Pricing | Adjust court rates and special pricing |
| Handle Refunds | Process refund requests for their courts |
- 4Click Save Changes to update permissions.
Removing Court Admin Access
- 1Locate the court admin in the Court Admins List.
- 2Click the Remove Access icon.
- 3Confirm removal in the popup dialog.
Viewing Court Admin Activity
- 1Click on a court admin's name in the list.
- 2View the Activity Log tab to see recent actions.
- 3Use filters to view actions by date, court, or action type.
Overview
The Receptionist module allows admins to assign and manage receptionist roles for front-desk operations, including check-ins, payments, customer service, and basic court management tasks.
Accessing Receptionist Management
-
1
Log in to the EPIC Admin Dashboard as an admin.
-
2
Navigate to Settings → Court & Location Settings → Receptionist.
Assigning Receptionist Role
- 1Click the Add Receptionist button.
- 2Fill in the following details:
| Field | Description | Required |
|---|---|---|
| User | Select an existing user or create a new receptionist account. | Required |
| Location | Assign to specific location(s) they will work at. | Required |
| Shift Schedule | Define working hours and days. | Required |
| Access Level | Select permissions (Full Receptionist, Check-in Only, Payment Only). | Required |
| Employee ID | Optional internal identifier. | Optional |
- 3Click Assign Role to create the receptionist account.
- 4The receptionist will appear in the Receptionist List.
Managing Receptionist Permissions
- 1Find the receptionist in the Receptionist List.
- 2Click the Edit Permissions icon.
- 3Configure the following capabilities:
| Permission | Description |
|---|---|
| Check-in Members | Process member arrivals and validate bookings |
| Process Payments | Handle cash/card payments and refunds |
| Manage Walk-ins | Create bookings for walk-in customers |
| Customer Support | Answer questions and resolve basic issues |
| Equipment Checkout | Manage pro shop equipment rentals |
| View Reports | Access daily sales and occupancy reports |
- 4Click Save Changes to update permissions.
Managing Receptionist Shifts
- 1Select a receptionist from the list.
- 2Click the Schedule Shifts tab.
- 3Set working hours using the calendar interface.
- 4Assign backup receptionists for coverage.
Removing Receptionist Access
- 1Locate the receptionist in the Receptionist List.
- 2Click the Deactivate button.
- 3Confirm deactivation and select an effective date.
Tracking Receptionist Performance
- 1Click on a receptionist's name in the list.
- 2View the Performance Dashboard.
- 3Review metrics like check-in speed, customer satisfaction, and sales performance.
Sports Management
The Sports Management module in EPIC allows admins to configure sports types, manage related equipment, and control settings for each sport offered. Use the sub-menus below to navigate between Sports, Lesson Types, and Focus Areas.
Overview
Configure the sports types available in your club — including name, description, cover image, and visibility status.
Accessing Sports
Use your admin credentials at the login screen.
This opens the Sports Management page.
/settings/sports-management/sports| Field | Description | Required |
|---|---|---|
| Name | Enter the name of the sport. | Required |
| Description | Add a brief description. | Optional |
| Sport Picture | Upload an image representing the sport. | Optional |
| Active Status | Toggle to make the sport active or inactive. | Required |
| Coming Soon Badge | Enable if the sport is not yet available. | Optional |
Overview
The Lesson Types module allows admins to configure lesson types, set durations, and define player limits for each lesson offered. Each lesson type controls how bookings are structured — from minimum and maximum durations to cancellation windows and advance booking requirements.
Accessing Lesson Types
List View
The Lesson Types list displays all configured entries. Each row shows the lesson name alongside Edit and Delete action icons.
Located in the top-right corner of the Lesson Types list view.
| Field | Required | Description |
|---|---|---|
| Name | Required | Display name, e.g. Private Lesson, Group Clinic |
| Minimum Duration (mins) | Required | The shortest allowed duration in minutes. |
| Maximum Duration (mins) | Required | The longest allowed duration in minutes. |
| Default Duration (mins) | Required | Standard duration pre-selected when creating a booking. Must be between min and max. |
| Minimum Players | Required | Minimum participants required for the lesson to proceed. |
| Maximum Players | Required | Maximum participants allowed in a single session. |
| Cancel Before Start (mins) | Required | Minutes before start time that cancellation is permitted. |
| Advance Booking Time (mins) | Required | Minimum minutes in advance a booking must be made. |
| Cover Image | Optional | Upload an image representing the lesson type. JPEG or PNG, max 5 MB. |
The new lesson type is immediately available when configuring instructor bookings.
The edit form opens pre-populated with current values.
Any field — name, durations, player limits, cancellation window, or cover image — can be changed.
A confirmation modal will appear.
Overview
The Focus Area module allows admins to define and manage focus areas for programs, lessons, or other activities. Focus areas help instructors and members identify the specific skill or training emphasis of a session — for example, Serve Technique, Footwork, or Match Strategy.
Accessing Focus Areas
The Focus Area list view opens, displaying all currently configured focus areas.
List View
| Column | Description |
|---|---|
| Name | The label of the focus area, e.g. Serve Technique. |
| Created At | Date and time the focus area was added. |
| Updated At | Date and time of the most recent change. |
| Edit | Modify the focus area name. |
| Delete | Permanently remove the focus area. |
Located in the top-right corner of the Focus Area list view.
| Field | Required | Notes |
|---|---|---|
| Name | Required | Short and descriptive. e.g. Serve Technique, Footwork, Match Strategy |
The newly created focus area will appear immediately in the Focus Area list.
Terms & Conditions
Overview
The Terms & Conditions module allows admins to create and manage versioned T&C content displayed to users during registration and booking. Each version can be independently activated or deactivated, and the list is searchable for quick access.
Search Terms & Conditions
Use the search bar at the top of the Terms & Conditions list to filter entries by version number or content keywords. Results update in real time as you type.
Adding a New Version
Click the Add New Version button to open the creation form. Fill in the required details and save to publish or stage the new version.
Located in the top-right corner of the Terms & Conditions page.
| Field | Description | Required |
|---|---|---|
| Version Number | A unique identifier for this version, e.g. v1.0, v2.1. | Required |
| Content | The full text of the Terms & Conditions for this version. Supports rich text formatting. | Required |
| Active Status | Toggle ON to make this version active and visible to users. Toggle OFF to save as inactive/draft. | Required |
The new version is created and immediately appears in the Terms & Conditions list. The counters at the top update to reflect the new totals.
List View
All T&C versions are displayed in a table with the following columns:
| Column | Description |
|---|---|
| Version Number | The unique version identifier, e.g. v1.0. |
| Content Preview | A truncated preview of the T&C text. |
| Active Status | Indicates whether this version is currently active (Active) or inactive (Inactive). |
| Created At | Date and time the version was created. |
| Edit | Modify the version number, content, or active status. |
| Delete | Permanently remove the version. |
Instructor Management
The Instructor Management module in EPIC allows admins to configure instructor profiles, set availability schedules, and define pricing rates for lessons. Use the sub-tabs below to manage each area.
Overview
The Instructors module allows admins to add, view, and manage instructor profiles including their specializations, assigned sports, and contact details.
Accessing Instructors
| Field | Description | Required |
|---|---|---|
| First Name | Instructor's first name. | Required |
| Last Name | Instructor's last name. | Required |
| Contact email address. | Required | |
| Phone | Contact phone number. | Optional |
| Sports | Sports the instructor is qualified to teach. | Required |
| Specialization | Specific focus areas or coaching expertise. | Optional |
| Profile Image | Upload a photo for the instructor profile. | Optional |
| Active Status | Toggle ON to make the instructor bookable. | Required |
Overview
The Instructor Availability module allows admins to set each instructor's weekly schedule and time-off periods. Availability defined here controls which time slots are offered when booking an instructor.
Accessing Instructor Availability
| Field | Description | Required |
|---|---|---|
| Day of Week | Select the day(s) the instructor is available. | Required |
| Start Time | The time the instructor becomes available. | Required |
| End Time | The time the instructor's availability ends. | Required |
| Location | The location where the instructor is available. | Optional |
Overview
The Instructor Rates module allows admins to set per-instructor pricing for different lesson types. Rates defined here are used to calculate the booking cost when an instructor and lesson type are selected.
Accessing Instructor Rates
| Field | Description | Required |
|---|---|---|
| Instructor | Select the instructor this rate applies to. | Required |
| Lesson Type | Select the lesson type (e.g. Private, Group). | Required |
| Rate (per hour) | The price charged per hour for this instructor and lesson type combination. | Required |
| Currency | Currency for the rate. Defaults to the club's configured currency. | Optional |
User Management
The User Management module allows admins to manage dashboard users and configure role-based access permissions. Use the sub-tabs below to manage users and roles.
Redpadel
The Redpadel module integrates EPIC with the Red Padel platform. Use the sub-tabs below to manage settings and player data.
Global Field Reference
This table summarizes all commonly used input fields across the dashboard, their types, and expected values.
| Field Name | Appears In | Type | Expected Input |
|---|---|---|---|
| Customer / Member | Bookings, Packages | Search input | Name, email, or phone. Min 2 characters to trigger search. |
| Create Customer | Text | Valid email format (user@domain.com). | |
| Phone | Create Customer | Numeric | Digits only. Format depends on country code selected first. |
| Password | Create Customer | Password | If set, must be confirmed with matching Confirm Password field. |
| Date | Bookings, Programs | Date picker | Cannot be in the past for new bookings. ISO format internally. |
| Start Time / End Time | Instructor Bookings, Classes | Time picker | HH:MM 24-hour format. End must be after Start. |
| Duration | Court Bookings | Dropdown | Options populated from court pricing configuration. |
| Price / Amount | Programs, Packages, Pro Shop | Numeric decimal | Positive number. Format: 0.00. Cannot be negative. |
| Court | Bookings, Classes | Dropdown | Courts listed for the selected location. |
| Location | Multiple | Dropdown | Configured locations from Settings → Locations. |
| Sport | Courts, Programs | Dropdown / multi-select | Active sports from Settings → Sports Management. |
| Category | Programs, Pro Shop | Dropdown | Must be created first in Settings before appearing here. |
| Tags | Programs, Content | Multi-select | Select from existing tags or type to create new ones. |
| Max Players / Capacity | Courts, Programs, Reservation Types | Integer | Whole number ≥ 1. |
| Image | Programs, Courts, Products | File upload | JPEG or PNG. Recommended max size: 5MB. |
| Description | Programs, Products, Packages | Textarea | Free text. No strict length limit but recommended < 500 chars. |
| Payment Method | Bookings, Purchases | Dropdown | Saved card, new card, terminal, cash, pay later. |
| Revenue Category | Bookings | Dropdown | From Settings → Revenue Categories. |
| Tax Group | Products, Plans | Dropdown | From Settings → Tax Groups. |
Validation Rules
The dashboard enforces the following validation rules. Errors appear as toast notifications (top-right corner) or inline field messages.
| Rule | Applies To | Error Message |
|---|---|---|
| First Name Required | Create Customer | "First name is required" |
| Program Name Required | Create Program | "Program name is required" |
| Start Date Required | Create Program | "Start date is required" |
| End Date Required | Create Program | "End date is required" |
| End Date After Start | Programs, Classes | "End date must be after start date" |
| Customer Required | Create Court Booking | "Missing required booking information" |
| Reservation Type Required | Create Court Booking | "Please fill in all required fields" |
| Court Required | Create Court Booking | "Please fill in all required fields" |
| Time Slot Required | Create Court Booking | Time slot field highlighted; cannot proceed without selection |
| Sub-Court Required (conditional) | Create Booking when parent court has sub-courts | Form disables time slot loading until sub-court is selected |
| Password Match | Create Customer | "Passwords do not match" |
| Country Before Phone | Create Customer | Phone field disabled and shows "Select country first" |
| Category Name Required | Create Program Category | "Category name is required" |
| Session Name Required | Create Program Session | "Session name is required" |
| Amount Non-negative | Payments, Packages | Field validation prevents negative values |
| Booking Conflict | Create Booking | Time slot shown as unavailable; API returns validation error with conflict details |
Data Dependencies
Many features in the dashboard depend on data configured in Settings. The table below shows what must be set up before a feature is fully usable.
| Feature | Depends On (must configure first) | Where to Configure |
|---|---|---|
| Create Court Booking | Location, Courts, Reservation Types, Pricing/Durations | Settings → Court Settings |
| Instructor Booking | Instructors, Lesson Types, Instructor Availability, Courts | Settings → Instructor Management + Sports Management |
| Create Program | Program Categories, Program Sessions, Courts, Location | Settings → Program Management + Court Settings |
| Matchmaking | Match Formats, Sports, Courts | Settings → Matchmaking + Sports Management |
| Punch Packages | Payment Methods, applicable Courts/Sports (optional) | Settings → Payment Settings |
| Membership Plans | Subscription Plans created in Settings | Settings → Payment Settings → Subscription Plans |
| Tax Calculation | Tax Groups assigned to courts/products | Settings → Payment Settings → Tax Groups |
| Notification Delivery | Email/SMS/Push templates + provider credentials | Settings → Notification Settings + Integration |
| Payment Processing | Stripe publishable key configured in environment | Server/env configuration (admin task) |
| Prospect Labels | Labels must be created in Prospects or Settings → CRM | Prospects view → + Create Label |
| Content Management | Content Tags must exist before tagging content items | Content → Tags |
| Geographic Settings | Countries and States/Provinces needed for address forms | Settings → Geographic Settings |
What Changes When You Update Settings
| Setting Changed | Impact on Dashboard |
|---|---|
| Add / Edit Court | Court immediately appears in Scheduler, Create Booking dropdown, and Reports. |
| Update Booking Prices | New prices apply to all future bookings. Existing bookings retain their original price. |
| Add New Sport | Available in Court configuration, Program creation, and Matchmaking sport filters. |
| Edit Notification Template | All subsequent notifications of that type use the new template immediately. |
| Deactivate a Member | Member cannot log into the app but existing bookings remain visible in the dashboard. |
| Update Subscription Plan Price | Affects new subscriptions only. Existing members retain their current price until renewal. |
| Add Instructor | Instructor becomes selectable in Instructor Booking creation and Program class assignment. |
| Change Tax Group | New tax rate applied to future transactions. Does not retroactively modify past invoices. |
Epic Sports Dashboard User Manual · v2.0 · February 2026
For technical support, contact your system administrator.