📘 Epic Dashboard
📘 Official User Manual

Epic Sports Dashboard

A complete guide to managing bookings, members, programs, payments, and settings — all in one place.

📅 Version 2.0 🏆 Sports Club Management 📍 React · TypeScript

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
1
Enter email address

Provide the registered admin email. Email format validation prevents invalid submissions.

2
Enter password

Type the secure password associated with the account. Password visibility and error hints improve confidence.

3
Submit login

Tap the login button. The system displays a loading indicator, validates credentials, and redirects on success.

UX behavior
  • 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
1
Choose Google login

Click the Google sign-in button to begin authentication using a Google account.

2
Select account

Pick the correct Google account or enter credentials if prompted.

3
Complete sign-in

Grant permissions and let the system verify your identity before redirecting.

UX behavior
  • 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
1
Enter your email

Type the email registered to your account and confirm the format is valid.

2
Receive sign-in link or code

The system sends a secure email to complete authentication.

3
Confirm email

Click the link or enter the code from your inbox to finish sign-in.

UX behavior
  • 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
1
Enter phone number

Provide the phone number associated with your account. Phone format validation prevents errors.

2
Request OTP

Tap send OTP and wait for the code to arrive via SMS.

3
Enter OTP

Type the received code and complete sign-in. Show expiry warnings as needed.

UX behavior
  • 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
1
Tap the Google button

Start Google authentication from the mobile app sign-in screen.

2
Select or sign in to Google

Choose an account or enter credentials if prompted.

3
Complete login

Grant required permissions and return to the app.

UX behavior
  • 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
1
Enter your email

Type the email address linked to your mobile account.

2
Send OTP

Request a one-time code to be sent to your inbox.

3
Enter OTP

Input the code. Support auto-focus and auto-read when available.

UX behavior
  • 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
1
Enter phone number

Add the number associated with your account. Ensure the format is correct.

2
Request OTP

Send a verification code via SMS and show the countdown timer.

3
Enter OTP

Input the SMS code. Auto-focus and auto-read behavior should be supported where possible.

UX behavior
  • 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

Loading state
  • Show a progress indicator during authentication operations.
  • Disable inputs and buttons while processing.
Success state
  • Confirm successful authentication with a brief message.
  • Redirect promptly to the appropriate dashboard or homepage.
Error states
  • 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.
↑ Back to top


Admin Profile

The Admin Profile section allows administrators to manage their personal account settings, update their password, and configure notification preferences.

ℹ️ Content coming soon. This section will cover updating your admin name, email, profile photo, and other personal details.
ℹ️ Content coming soon. This section will cover changing your admin account password and security settings.
ℹ️ Content coming soon. This section will cover managing your personal notification preferences for the admin dashboard.
↑ Back to top

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

ColorType
🟦 BlueRegular court booking
🟩 GreenProgram class
🟨 Yellow/OrangeInstructor booking
🟪 PurpleMatchmaking session
🔴 Red / stripedCancelled or unavailable

Workflow

1
Select Location

Choose a location from the Scheduler main page.

2
Select Court Booking

Choose Court Booking as booking type.

3
Reserve a time slot

Click an available slot to open the Schedule Court Booking modal.

4
Enter booking details

Set booking type, sport, reservation type, players/customer, and optional guests.

5
Confirm schedule and court

Review date, start time, duration, court, and location.

6
Review summaries

Check Booking Summary and Payment Summary, including split payment options.

7
Save & Confirm

Click Save and Confirm Reservation to create the booking.

Form Fields

FieldTypeRequiredNotes
CustomerSearchYesSearch by name/email/phone. Main booker must be registered.
Reservation TypeDropdownYesDefines booking category and pricing rules.
CourtDropdownYesShows available courts at selected location.
Sub-CourtDropdownConditionalRequired if selected court has sub-courts.
DurationDropdownYesLoaded from court pricing configuration.
DateDate PickerYesCannot be in the past.
Time SlotGrid SelectorYesShown based on court, duration, and date.
GuestsMulti-select SearchOptionalAdd additional players.
Payment OptionRadioYesPay Full or Pay Split.
Payment MethodDropdownYesSaved card, new card, terminal, or pay later.
Revenue CategoryDropdownOptionalFinancial 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

1
Open existing booking

Click the booking block in Scheduler.

2
Update required fields

Modify date, time, court, players, or payment fields.

3
Save Changes

Scheduler reflects updates immediately.

Cancel Court Booking

1
Open existing booking

Click the booking in Scheduler.

2
Select Cancel Booking

Confirm cancellation prompt.

3
Result

Slot becomes available again and notifications are sent.

List

Displayed InformationDescription
Booking typeCourt Booking (and other booking categories by color code).
Date & timeScheduled date, start time, and duration.
Court & locationAssigned court and venue.
Players & guestsCustomer, added players, and guests.
Membership/payment summaryPayment 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

FilterPurpose
LocationSwitch courts by venue from the Scheduler header.
DateMove between days to view availability and bookings.
Court columnsFocus 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 InformationDescription
Booking type, date & timeCore reservation details.
Court & locationAssigned venue and court.
Player & guest informationParticipants linked to the booking.
Payment summaryPayment method and split payment details.
Booking statusCreated, Updated, or Cancelled.

Validation Rules

RuleBehavior
Date cannot be in the pastPast dates are blocked in new booking flow.
Court/time must be availableOnly available slots can be selected.
Sub-court required when applicableEnforced if selected court has sub-courts.
Registered customer requiredMain booker must exist in the system.
Duration depends on court pricing configDuration options load from configured rules.
Payment method/action must be validConfirmation 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 top

Court 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

1
Open Court Bookings

Use the sidebar, or select a time slot from the Scheduler.

2
Click Create Booking

Open the booking modal to start a new reservation.

3
Select (or add) a customer

Search for the registered customer to book under.

4
Choose reservation type

Select a reservation type to apply category and pricing logic.

5
Select court, schedule, and duration

Choose the court (and sub-court if applicable), then pick the date, duration, and time slot.

6
Add guest players (optional)

Add additional players if the booking includes more than the main booker.

7
Set payment responsibility

Select Pay Full or Split among players.

8
Choose payment method & confirm

Select the payment method, then confirm the booking. The reservation is created and reflected in the system.

Create Court Booking — Form Fields

FieldTypeRequiredDescription / Behavior
CustomerSearchRequiredSearch by name, email, or phone. Must be a registered user.
Reservation TypeDropdownRequiredDefines booking category and pricing logic.
CourtDropdownRequiredDisplays courts based on selected location.
Sub-CourtDropdownConditionalRequired if the selected court has sub-courts configured.
DurationDropdownRequiredLoaded based on court pricing configuration.
DateDate PickerRequiredCannot be set in the past.
Time SlotGrid SelectorRequiredDisplayed after selecting court, date, and duration.
GuestsMulti-select SearchOptionalAdd guest players (additional players beyond the main booker).
Payment ResponsibilityRadioRequiredOptions: Pay Full or Split among players.
Payment MethodDropdownRequiredChoose one: Card, POS, or Post to Account.

Booking Actions

Edit Booking

1
Open a booking from the list

Select a booking row and click Edit.

2
Update booking details

Change fields such as court, date, time slot, duration, or players.

3
Save changes

The booking is updated in the system.

Note: Pricing may change based on the updated time or duration (peak vs normal hours).

Cancel Booking

1
Select the booking

Choose a booking from the court bookings list.

2
Click Cancel

Start the cancellation flow.

3
Provide reason (optional) & confirm

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

ColumnWhat It Shows
Booking IDUnique identifier for the booking record.
StatusPending, Confirmed, or Cancelled.
Date & TimeScheduled date and selected time slot.
Court & LocationCourt name and venue/location details.
Number of PlayersMain booker plus any guest players included in the reservation.
Booked ByThe user who created the booking.
Payment DetailsPayment responsibility and the selected payment method.
Check-in StatusAttendance / check-in state for players.
ActionsView, Edit, Cancel, and Check-in (mark player attendance).

Filters

FilterDescription
Date Range (Start Date – End Date)Filter bookings within a selected time window.
LocationFilter bookings by venue/location.
Booked ByFilter bookings by the creating user.

Apply one or multiple filters to refine results. The booking list updates dynamically based on selection.

Validation Rules & Dependencies

RuleDependency / Behavior
Date cannot be in the pastThe date picker prevents selecting past dates.
Time slots depend on court and durationAvailable time slots are shown after court, date, and duration are selected.
Sub-court required when applicableOnly required if the selected court has sub-courts configured.
Customer must be a registered userCustomer search validates against registered accounts.
Payment method required before confirmationConfirmation is blocked until a payment method is selected.
Conflicts prevented by slot availabilityBookings 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 top

Instructor 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

1
Select Booking Type

From Scheduler, choose Instructor Booking.

2
Enter lesson details

Select Lesson Type and Instructor.

3
Add Player(s)/Consumer(s)

Add all attendees for the lesson.

4
Review date & time

Date, Start Time, and Duration are pre-filled from the selected slot.

5
Confirm court & location

Assigned court is shown and location is auto-populated.

6
Select payment option and action

Choose payment method, then Charge Now or Authorize Only.

7
Save & Confirm

Review summary and click Save and Confirm Reservation.

Form Fields

FieldDescription / Behavior
Lesson TypeSelect the lesson type (e.g., Private, Group, Clinic).
InstructorSelect the instructor conducting the lesson.
Player(s) / Consumer(s)Add one or more attendees.
DatePre-filled from Scheduler slot; review before confirming.
Start TimePre-filled from Scheduler slot.
DurationShown in minutes; review/update if allowed.
CourtAssigned court is displayed.
LocationDisplayed automatically from assigned court.
Payment MethodCard, Wallet, Apple Pay, Auto (No Payment), POS Terminal, Pay Later.
Payment ActionCharge Now or Authorize Only (Hold Payment).
Card Payment DetailsIf 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

1
Open booking from Scheduler

Select the existing Instructor Booking.

2
Update fields

Change players, duration/time, payment method, or payment action.

3
Save Changes

Scheduler updates immediately and notifications are sent.

Cancel Instructor Booking

1
Open booking from Scheduler

Open the Instructor Booking modal.

2
Click Cancel Booking

Confirm cancellation.

3
Result

Booking is cancelled, slot becomes available, and refund/payment status follows system rules.

List

Displayed InformationDescription
Lesson TypeConfigured lesson category.
Instructor NameAssigned instructor.
Player(s)Attendees linked to the lesson.
Date & TimeScheduled date and start time.
DurationLesson length in minutes.
Court & LocationAssigned court and venue.
Payment Details / StatusMethod, amount, and payment state.

Filters

FilterPurpose
Date / Time SlotControlled by Scheduler context for quick day/time navigation.
Court / LocationRestrict visible lessons to selected court/location.
InstructorFocus on lessons for a specific instructor.
StatusTrack active, updated, and cancelled lessons (where available).

Notifications

Notifications are sent for creation, updates, and cancellations of instructor bookings.

CategoryDetails
RecipientsAdmin and Player(s).
ChannelsEmail and in-app notifications (if enabled).
Included InformationLesson type/instructor, date/time/duration, court/location, player(s), payment status, booking status (Created/Updated/Cancelled).

Validation Rules

RuleBehavior
Lesson Type and Instructor are requiredBooking cannot be saved without both.
At least one player/consumer is requiredEnsures attendee assignment before confirmation.
Date/Time is Scheduler-controlledSlot selection sets booking time context.
Payment method/action must be validCharge/hold behavior follows selected method and system payment rules.
↑ Back to top

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-pageRoutePurpose
Programs/programsList all programs, view status, enrollments, quick actions.
Program Classes/program-classesList all individual class sessions across all programs.
Program Bookings/program-bookingsList all student enrollments and booking records.

Workflow: Create a Program

Program creation uses a 4-tab wizard:

1️⃣

Basic Information

Name, description, cover image, category, session type, court, and dates.

2️⃣

Pricing

Price per session, full program price, upfront payment requirements.

3️⃣

Membership

Restrict program access to specific membership tiers.

4️⃣

Classes

Add individual class sessions with dates, times, instructors, and courts.

Basic Information — Form Fields

FieldRequiredNotes
Program NameRequiredExample: "Summer Tennis Academy". Max ~255 chars.
Cover ImageOptionalUpload JPEG/PNG. Used on booking pages.
DescriptionOptionalDetailed program description visible to members.
Additional NotesOptionalInternal notes or special instructions.
CategoryRequiredSelect from configured Program Categories (Settings → Program Management).
Session TypeRequiredSelect from Program Sessions (Settings → Program Management).
Location / CourtRequiredWhere the program will take place.
Start DateRequiredCannot be in the past.
End DateRequiredMust be after Start Date.
Max ParticipantsOptionalEnrollment cap. Leave blank for unlimited.
TagsOptionalMulti-select tags for search and filtering.
SportsOptionalAssociate the program with one or more sports.

Pricing Fields

FieldRequiredNotes
Per-Session PriceOptionalPrice if student pays per class.
Full Program PriceOptionalPrice for enrolling in the entire program.
Payment RequiredOptionalToggle: require payment at booking time.
Upfront RequiredOptionalToggle: require full upfront payment.

Workflow: Manage Program Classes

1
Open the Program

From the Programs list, click the program name or the "Manage Classes" action button.

2
Add a Class

Click + Add Class. The Add Class modal requires: Date, Start Time, End Time, Court, Location, Instructor (optional), and Max Players.

3
Edit or Delete a Class

Each class row has Edit (pencil) and Delete (trash) buttons. Editing opens the same form pre-filled.

4
Cancel a Specific Class

Use the Cancel option from the class row actions menu. Students will be notified per notification settings.

↑ Back to top

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.

ℹ️ How to access Open Programs from the sidebar → select a program → open the Sessions tab.
➕ Create a Program Session 3 steps
1
Click Add New Session
2
Enter session details

Provide the date, time, duration, and any other session-specific information.

3
Click Save
✅ Created The session is linked to the selected program and immediately visible in the program schedule.
✏️ Edit a Program Session 5 steps
1
Go to Programs → open the program → Sessions tab
2
Find the session to update
3
Click Edit
4
Update the session details
5
Click Save
✅ Updated Changes are applied immediately to the program schedule.
🗑️ Delete a Program Session 4 steps
1
Go to Programs → open the program → Sessions tab
2
Find the session to remove
3
Click Delete
4
Confirm the deletion
⚠️ Permanent Action Once deleted, the session is permanently removed and will no longer be available for booking. Re-create it manually if needed.
↑ Back to top

Program Tags

Overview

Program Tags help admins label and categorize programs using keywords. Tags make it easier to filter, search, and manage programs efficiently across the platform.

How to Access

1
Log in to the New Admin Dashboard
2
Click on Settings

Select Settings from the left-side menu.

3
Select Program Tags

Create a Program Tag

1
Click on Add New Tag
2
Enter the tag name
3
Click Save
✅ SuccessThe program tag will be created successfully and will be available for assignment to programs.

Edit a Program Tag

1
Navigate to Settings → Program Tags
2
Locate the tag you want to update
3
Click on the Edit option
4
Modify the tag name or details
5
Click Save
✅ SuccessThe tag will be updated successfully.

Delete a Program Tag

1
Navigate to Settings → Program Tags
2
Locate the tag you want to remove
3
Click on the Delete option
4
Confirm the deletion
⚠️ WarningOnce deleted, the tag will be permanently removed and will no longer be available for programs.
↑ Back to top

Program Categories

Overview

Program Categories allow admins to organize programs into structured groups for better management and clarity within the system.

How to Access

1
Log in to the New Admin Dashboard
2
Click on Settings

Select Settings from the left-side menu.

3
Select Program Categories

Create a New Program Category

1
Click on Add New Category
2
Enter the category name
3
Click Save
✅ SuccessThe new program category will be created successfully.

Manage Program Categories

For each program category, admins can perform the following actions:

ActionDescription
EditUpdate the category name or details.
DeleteRemove the category if it is no longer needed.

Edit a Program Category

1
Log in to the New Admin Dashboard
2
Navigate to Settings → Program Categories
3
Locate the category you want to edit
4
Click on the Edit option
5
Update the required category details
6
Click Save
✅ SuccessThe program category will be updated successfully.

Delete a Program Category

1
Log in to the New Admin Dashboard
2
Navigate to Settings → Program Categories
3
Locate the category you want to delete
4
Click on the Delete option
5
Confirm the deletion when prompted
⚠️ WarningOnce deleted, the category will be permanently removed and will no longer be available for program assignment.
↑ Back to top

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

1
Navigate to Scheduler

Open the Scheduler and select a time slot.

2
Choose Match Booking

Start a new match booking from the selected slot.

3
Enter match details

Set sport, match format, skill level, and optional gender requirement.

4
Configure privacy

Select Public or Private match.

5
Add players or teams

Player/team selector adapts to Singles or Doubles format.

6
Confirm schedule and court

Review date, start time, duration, court, and location.

7
Review summary & confirm

Click Save & Confirm Reservation to finalize.

Create Match Booking — Form Fields

FieldTypeRequiredDescription / Behavior
SportDropdownRequiredSelect the sport for the match.
Match FormatDropdownRequiredOptions: Singles or Doubles.
Skill LevelDropdownRequiredDefines player skill category.
Gender RequirementDropdownOptionalRestricts participation when applicable.
Match PrivacyCheckboxOptionalPublic or Private match visibility.
Players / TeamsSelectorRequiredStructure changes based on selected format.
DateDate PickerRequiredSelected from Scheduler context.
Start TimeTime PickerRequiredBased on selected slot.
DurationDropdownRequiredDefined in minutes based on court setup.
CourtDropdownRequiredSelect the court for the match.
LocationAuto/DropdownRequiredDerived from selected court.

Actions

Edit Match Booking

1
Open booking from Scheduler

Select the match from the Scheduler slot.

2
Update details

Modify format, players/teams, schedule, court, or related fields.

3
Save changes

Scheduler updates instantly and update notifications are triggered.

Cancel Match Booking

1
Open booking from Scheduler

Select the scheduled match.

2
Click Cancel Booking

Confirm the cancellation action.

3
Result

The booking is cancelled, the time slot becomes available, and cancellation notifications are sent.

Matchmaking Tabs

TabDescription
MatchesDisplays all matches with filters for date, sport, court, and status.
PlayersShows all players with matchmaking profiles and ratings.
StatisticsVisual charts for match trends, player performance, and peak hours.

Validation Rules

RuleDependency / Behavior
Match format controls structureSingles and Doubles require different player/team setup.
Court and time must be availableBooking cannot proceed on unavailable slots.
Required number of players must be addedValidation enforces minimum players based on format.
Duration depends on court configurationDuration options follow configured court settings.
Private matches restrict visibilityOnly 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

1
Log in to the Admin Dashboard
2
Navigate to Match Booking → Matchmaking Management
3
Select a tab

Choose Overview, Sport, or Peak Time.

4
Apply filters

Use available filters where applicable.

5
Analyze and manage

Review insights and manage matches from the selected tab.

Tabs Overview

TabDescription
OverviewDisplays key metrics and overall matchmaking performance.
SportProvides filtered match data and detailed match management.
Peak TimeShows charts and trends for match activity and demand.

Overview Tab — Key Metrics

Key MetricWhat It Indicates
Total Matches CreatedTotal number of matches created in the selected period.
Unique PlayersNumber of distinct players participating in matches.
Cancelled MatchesTotal cancelled matches.
Payment StatusMatch payment breakdown: Paid, Pending, and Unpaid.
Upcoming MatchesScheduled matches that have not started yet.
Most Popular SportSport with the highest matchmaking volume.

Sport Tab — Filters

FilterUsage
LocationNarrow match data by venue/location.
CourtFocus on a specific court.
DateLimit results to a selected date or range.
Match FormatFilter by Singles or Doubles.

Peak Time Tab — Charts

Chart / InsightDescription
Sports DistributionShows match distribution across sports.
Peak Booking HoursIdentifies high-demand time slots.
Weekly TrendsDisplays activity across days of the week.
Daily Booking TrendsTracks daily booking patterns.

Key Features

FeatureBenefit
Centralized matchmaking dashboardManage all matchmaking activity from one module.
Real-time analyticsView current trends and performance snapshots.
Filter-based trackingQuickly isolate matches by date, court, format, and location.
Match-level managementOpen details and update match assignments directly.
Visual demand analysisUse 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.

ℹ️ Content coming soon. This section will cover configuring matchmaking rules, skill level definitions, and system-wide matchmaking preferences.
ℹ️ Content coming soon. This section will cover defining match formats (Singles, Doubles, etc.) and their associated rules.

Match Configuration

Configure match-related settings and external service URLs used across the matchmaking system.

🔗 Match Base URL Configuration

Set the base URL for match-related external services and integrations. This URL is used when generating shareable match links sent to players.

FieldDescriptionRequired
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
1
Navigate to Match Setup → Match Configuration
2
Enter the Match Base URL

Paste the full HTTPS URL for the external match service. The URL must begin with https://.

3
Click Save to apply the configuration.
✅ Saved The base URL is now used when generating shareable join-match links for players.
⚠️ HTTPS Required URLs that do not start with https:// will be rejected. Ensure the URL is valid and reachable before saving.
↑ Back to top

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.

ℹ️ Kanban workflow Drag and drop prospect cards between columns to reflect the latest status instantly.

Workflow: Manage Prospects

1
Navigate to Prospects

From the Admin Dashboard, open Prospects.

2
Add a prospect

Create a new prospect or select an existing user to add to the pipeline.

3
Assign a label (stage)

Place the prospect into the correct pipeline stage.

4
Track progress

Move prospects across stages as interactions and updates happen.

5
Update notes and details

Open a prospect to update notes, status, and stage assignment as needed.

6
Remove prospects when done

Delete from the pipeline if no longer required.

Key Features

FeatureBenefit
Kanban-style boardVisual pipeline management for faster lead triage.
Drag-and-drop movementUpdates stage progress immediately and keeps the pipeline current.
Label-based organizationStages can be prioritized (Low, Medium, High).
Notes and interactionsTrack follow-ups and keep context inside each prospect card.
Audit logsMaintain a history of changes for tracking and accountability.
Custom pipeline stagesCreate and manage the labels that match your process.

Actions

ActionDescription
Add ProspectAdd a new or existing user and assign them to a stage.
Move ProspectDrag and drop cards between stages to update progress.
View DetailsOpen the prospect modal to view full details.
Add NoteLog follow-ups or observations for the prospect.
Remove ProspectDelete the prospect from the pipeline.
View Audit LogsTrack history of updates and changes.

Create Prospect — Form Fields

FieldRequiredDescription / Behavior
First NameRequiredAlphanumeric input.
Last NameOptionalRecommended for full profile.
Date of BirthOptionalUsed for analytics.
EmailOptionalMust be valid format if provided.
Country CodeConditionalRequired when entering phone number.
Phone NumberOptionalNumeric, formatted by country code.
PasswordOptionalEnables login if set.
Confirm PasswordConditionalMust match password if password is set.
ActiveOptionalToggle to enable/disable user.
Send Info EmailOptionalSends welcome email if enabled.

Labels (Pipeline Stages)

Create Label

1
Click Create Label

Use + Create Label from the pipeline.

2
Enter label description

Add a short description for the stage.

3
Set priority

Choose Low, Medium, or High.

4
Save label

The stage becomes available on the pipeline board.

Edit Label

1
Click the edit icon

Use the ✏️ icon on the column header.

2
Update label details

Adjust description and priority as needed.

3
Save

The pipeline reflects the updated label settings.

Validation Rules

RuleDependency / Behavior
First Name is mandatoryForm blocks saving without a value.
Email must be valid if providedInvalid email prevents submission.
Phone depends on country codeCountry Code is required when entering a phone number.
Confirm Password required only if password is setConfirm must match the password.
Prospect must belong to at least one label/stageSelection 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 top

Members

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

1
Navigate to Members

Open Members from the Admin Dashboard.

2
Review the members list

Search, filter, and scan member status at a glance.

3
Open a member profile

Click a member to view their detailed profile.

4
Explore detail tabs

Review memberships, bookings, payments, and related activity.

5
Manage member data

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.

ColumnDescription
UserMember name.
ContactEmail address or phone number.
StatusActive, Inactive, or Expired.
MembershipCurrent membership plan.
Member SinceMembership start date.
Expires OnMembership expiry date.

Member Details View

Clicking a member opens a detailed profile page with complete information (Consumer Details).

Basic InformationExamples
IdentityName, email address.
Financial snapshotWallet balance (and other account-level indicators, where enabled).

Member Detail Tabs

TabDescription
ProspectDisplays pre-membership or lead-related data.
OverviewSummary of member profile, membership, and key dates.
Post to AccountsAccounting-related entries for the member.
MembershipsActive and past memberships with history.
BookingsAll bookings (court, program, instructor, match).
PaymentsPayment history and transaction records.
Payment MethodsSaved cards and linked payment options.
Corporate / FamilyLinked corporate or family memberships.
Punch PackagePackage usage and remaining balance.

Key Features

FeatureBenefit
Centralized member managementOne place to manage profiles, memberships, and activity.
Complete visibilityTrack memberships, bookings, and payment history together.
Linked account managementManage corporate/family relationships and packages where applicable.
Integrated financial trackingWallet and transactions reflect member-level financial state.

Validation Rules

RuleDependency / Behavior
Member status depends on membership validityStatus reflects active/inactive and expired state when memberships lapse.
Membership dates drive Active/ExpiredStart and expiry dates determine membership state.
Bookings and payments link to the member profileAll activity is associated with the selected member record.
Wallet balance updates from transactionsWallet 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 top

Consumer 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

TabWhat It ShowsKey Actions
📋 OverviewPersonal info, contact details, account status, wallet balance, tagsEdit profile, toggle active status, add/remove labels
🎯 ProspectCRM stage history and notes for this member as a prospectAdd note, change stage
💳 MembershipCurrent and past membership plans, renewal datesUpgrade, cancel, or assign membership
📅 BookingsAll court bookings made by this memberView, cancel, or edit individual bookings
💰 Post to AccountCharges posted directly to the member's accountPost new charge, view history
💵 PaymentsFull payment transaction historyView receipts, filter by date/type
💳 Payment MethodsSaved credit/debit cards and payment instrumentsAdd new card, remove card
👨‍👩‍👧 FamilyCorporate/family account members linked to this accountAdd member, remove member
💼 Wallet TransactionsWallet credits, debits, and balance historyView transaction details
🎟️ Punch PackagesActive and used punch package creditsPurchase new package
🎓 Program BookingsAll program enrollments for this memberView enrollment details

Editing a Consumer Profile

1
Open Consumer Details

Navigate to Members → click the member's name.

2
Click "Edit" (Overview Tab)

The edit form opens with current data pre-filled.

3
Update Fields & Save

Modify any fields (name, email, phone, DOB) and click Save Changes.

ℹ️ Direct Tab Links You can link directly to a specific tab using the URL pattern /consumer-details/:id/:tab — for example /consumer-details/42/membership opens directly on the Membership tab.
↑ Back to top

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

ControlOptions
SearchSearch by membership name/keywords.
Membership TypeIndividual · Corporate · Family
StatusActive · Inactive
View ToggleGrid View · List View

Membership List Details

What You SeeDescription
Membership NamePlan display name.
DescriptionShort summary of the plan.
Status IndicatorGreen = Active (or Draft/Inactive where applicable).
Plan TypeMonthly / Yearly (and special plan flags).
Family Plan / Corporate PlanShows whether Family/Corporate toggles are enabled.
Active / PublishedWhether plan is visible/available.
Purchase WindowAvailable From / Available Until.
Audit TimestampsCreated At and Updated At.
ActionsView details, Subscribers count, Edit, Delete.

Workflow: Creating a Subscription Plan

1
Click Create Subscription Plan

Start a new membership plan.

2
Basic Information

Enter Plan Name and Description. Enable toggles as needed: Active, Published, Corporate Plan (optional), Family Plan (optional), Default Plan, Prorated Billing.

3
Create

Click Create Subscription Plan to save plan and open configuration.

⚠️ Pricing Required to Activate At least one pricing configuration is required before a membership can become active/usable.

Membership Configuration Tabs

TabWhat You Configure
Basic InfoGeneral membership information and toggles.
DatesPurchase Start/End and Membership Start/End dates.
Benefits & FeaturesBenefits list shown to members.
Time & LimitsBooking rules, guest limits, age restrictions, peak limits, usage limits, settlement time, subscription limits, and exclusions.
Pricing ManagementOne-time, recurring, or combined pricing structures.
Booking PricingDuration-based pricing, peak/off-peak pricing, guest charges.
SettingsPrice settings, membership settings, and any legacy configurations.

Dates Tab — Required Fields

FieldDescription
Purchase Start DateFirst date users can purchase the membership.
Purchase End DateLast date users can purchase the membership.
Membership Start DateWhen benefits begin (plan-level setting).
Membership End DateWhen benefits end (plan-level setting).

Click Save Date Settings after updates.

Time & Limits — Common Controls

CategoryExamples
Booking SettingsLast Reservation Open Time, Booking Buffer Hours, Advance Booking (days/hours in advance).
Guest LimitsPer day / week / month, guest additional amount.
Age RestrictionsMinimum Age, Maximum Age.
Peak Booking LimitsPer day / week / month.
Usage LimitsReservations / Minutes / Courts, Free Usage per Week.
Bill SettlementSettlement Time.
Subscription LimitsCorporate Email Limit, Active Subscription Limit, Exclude Past Reservations.

Click Save Time & Limits after updates.

Pricing Management — Supported Models

Pricing TypeHow It Works
One-time PurchaseSet fee + duration.
Recurring PlanSet base fee (often 0.00) and add recurring plan rules.
One-time + RecurringCombine both approaches.
ℹ️ Duration Note Duration applies only to one-time plans.

Finalizing Membership

StepOutcome
Save all sectionsEnsures that plan configuration persists across tabs.
Add pricingMembership 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

1
Enable Family Plan

Memberships → Create/Edit → enable Family Plan toggle.

2
Configure pricing

Set Individual Pricing (standard) and Family Pricing (e.g., Below 18 / Above 18). At least one Family Pricing option is required.

3
Set Time & Limits

Configure Free Email Limit and Total Subscription Email Limit.

Family Limits Configuration

LimitDefinition
Free Email LimitNumber of free family members allowed.
Total Subscription Email LimitTotal members allowed (Free + Paid).
ℹ️ Example Free Limit = 2 and Total Limit = 4 means: 2 Free members + 2 Paid members.

Upgrade a Member to Family

Members → Upgrade Membership → Select Family Plan.

⚠️ Rules & Restrictions You cannot reduce limits below current active usage. If a subscription already has 2 Free + 2 Paid (Free=2, Total=4), you cannot lower below those values.

Member Management

GoalWhat to Increase
Add more Free membersIncrease Free Email Limit and Total Subscription Email Limit.
Add more Paid membersIncrease Total Subscription Email Limit only.

Website Behavior

UserBehavior
OwnerSees a Family Members tab and can manage members and limits.
Family member (non-owner)Cannot add/manage other members.
⚠️ Ownership Rule (Important) For Family subscriptions, the subscription creator is the Owner. Only the Owner can add members, increase limits, and manage the subscription.

Corporate Membership Overview

Overview: Corporate Membership behaves like Family Membership with one additional requirement: Corporate Plan toggle must be enabled.

Enable Corporate Membership

1
Enable Corporate Plan

Memberships → Create/Edit → enable Corporate Plan toggle.

2
Configure Corporate Pricing

Set Individual Pricing and Corporate Pricing options. At least one Corporate Pricing option is required.

3
Set Corporate Limits

Configure Corporate Email Limit and Total Subscription Email Limit.

Corporate Limits Configuration

LimitDefinition
Corporate Email LimitNumber of free corporate members allowed.
Total Email LimitTotal corporate members allowed (Free + Paid).
ℹ️ Example Corporate Limit = 5 and Total = 10 means: 5 Free + 5 Paid.

Corporate Member Management

ActionDescription
Add Corporate MembersOwner can add members up to the configured limits.
Remove Corporate MembersOwner can remove members (subject to billing implications).
Upgrade MembersConvert individual members to corporate membership.
Set Member RolesAssign different access levels within corporate structure.
⚠️ Corporate Rules You cannot reduce limits below current active members; increase limits to add more users. Corporate membership requires valid business email domains.

Corporate Features

FeatureDescription
Domain ValidationRestrict membership to specific email domains.
Department ManagementOrganize members by departments or teams.
Corporate BillingConsolidated billing for all corporate members.
Admin DelegationAssign corporate admins with limited permissions.
Usage ReportingTrack corporate-wide usage and analytics.

Website Behavior

UserBehavior
OwnerSees a Corporate Members tab and can manage members and limits.
Corporate member (non-owner)Cannot add/manage other members.
Corporate AdminLimited management capabilities as delegated by Owner.
⚠️ Ownership Rule (Important) For Corporate subscriptions, the subscription creator is the Owner. Only the Owner can add members, increase limits, and manage the subscription structure.
↑ Back to top

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

ColumnDescription
Package NameName of the package.
PriceCost of the package.
Total PunchesNumber of punches included.
ExpiryExpiry type/date (Fixed or Duration-based).
StatusActive / Inactive.
Created DateDate of creation.
ActionsEdit / Clone / Activate / Deactivate / Delete.

Filters & Controls

FilterDescription
SearchSearch by package name.
StatusActive / Inactive.
Expiry TypeFixed / Duration.
Date RangeFilter by created date.

Workflow: Create Punch Package

1
Click Create Package

Start a new punch package.

2
Complete package details

Fill fields, set expiry type, and configure benefits/redemption rules.

3
Save

On success, the system confirms: “Package created successfully”.

Package Details Form

Field NameTypeDescriptionRequired
Package NameTextEnter package name.Yes
PriceNumberEnter package price.Yes
Total PunchesNumberDefine total punches.Yes
Expiry TypeDropdownFixed Date / Duration.Yes
Expiry DateDate PickerSelect expiry date.Conditional
Expiry DurationNumberNumber of valid days.Conditional
Purchasable Start DateDate PickerPackage availability start.No
Purchasable End DateDate PickerPackage availability end.No
DescriptionText AreaPackage description.No

Benefits Configuration

FieldDescription
Activity TypeBooking / Class / Match / Session / Add-on.
Punch ValuePunches required for the activity.
DescriptionOptional explanation.

Redemption Rules

RuleDescription
Booking UsageDefine punches for court booking.
Class UsageDefine punches for classes.
Match UsageDefine punches for matches.
Session UsageDefine punches for instructor sessions.
Add-on UsageDefine punches for add-ons.

Create Actions

ActionDescription
SaveCreates the package.
CancelDiscards changes.

Package Management Actions

ActionDescription
EditModify package details.
CloneDuplicate package.
Activate / DeactivateControl visibility for purchase.
DeleteRemove from future purchase (existing users are unaffected).

Assign Punch Package

Admins can assign punch packages to users from the Admin Dashboard.

Assignment Form

Field NameTypeDescription
Select UserSearch DropdownChoose user.
PackageDropdownSelect package.
Custom PunchesNumberOverride punches.
Custom PriceNumberOverride price.
Expiry DateDate PickerOverride expiry.
BenefitsEditableModify benefits for this assignment.
Payment MethodDropdownPOS / Wallet / Pay Later / Mark Paid.
✅ Success Message On successful assignment, the system confirms: “Package assigned successfully”.

Punch Package Usage (Consumer App)

Users can view and purchase packages, and redeem punches during checkout.

Package Details Display

FieldDescription
Package NameName of package.
PriceCost.
Total PunchesIncluded punches.
ExpiryValidity window.
BenefitsUsage rules.

My Packages (User Profile)

FieldDescription
Package NameName.
Expiry DateValid till.
Total PunchesInitial punches.
Used PunchesConsumed.
Remaining PunchesAvailable balance.
BenefitsUsage rules.

Punch Redemption (Checkout)

FunctionalityDescription
Punch BalanceDisplays available punches.
Auto RuleApplies correct rule for the selected activity.
ValidationChecks expiry and punch balance.
Price UpdateAdjusts payable amount.
DeductionDeducts punches instantly on confirmation.
⚠️ Fixed Benefit Rule If a benefit is fixed (for example, 20 punches = 30 minutes), partial redemption is not allowed.

Instructor Package Sales

FeatureDescription
Sell PackageAssign to users or groups.
CustomizeModify punches, price, expiry.
StatusPurchased / Pending Payment.
TrackingVisible in Admin Dashboard.

Notifications

TriggerRecipient
Package PurchaseUser + Admin
Package AssignmentUser
Low Punch BalanceUser
Expiry ReminderUser
Instructor SaleAdmin

Reports

ReportDescription
Sales ReportPackage purchases.
Assignment ReportAssigned packages.
Redemption ReportPunch usage.
Revenue ReportEarnings.

Filters

FilterOptions
Date RangeCustom.
PackageName.
UserConsumer.
InstructorInstructor.
Payment MethodCard / Wallet / POS.

Export

FormatNotes
CSVDownload report data as CSV.
PDFDownload report view as PDF.
↑ Back to top

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 TypeBooking IDUser NameAmountStatusDateActions
Court#BK-12345John Doe$45.00Cancelled2026-03-26View / Approve / Reject
Program#PRG-67890Jane Smith$120.00Approved2026-03-25View / Reverse
Instructor#INS-54321Mike Johnson$60.00Rejected2026-03-24View

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 IDUser NameCourt NameAmountStatusDateActions
#BK-12345John DoeCourt A$45.00Cancelled2026-03-26View / Approve / Reject
#BK-12346Sarah WilsonCourt B$35.00Approved2026-03-25View / Reverse

Workflow: Court Refund Processing

1
Member cancels a court booking

A refund entry is created with status Cancelled.

2
Navigate to Court Refunds

View pending refund requests in the Court Refunds tab.

3
Review and approve/reject

Click to view details and choose to approve or reject the refund.

4
If approved: enter amount

Provide the refund amount and confirm.

5
Wallet is credited

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 IDUser NameProgram NameAmountStatusDateActions
#PRG-67890Jane SmithTennis Fundamentals$120.00Cancelled2026-03-26View / Approve / Reject
#PRG-67891Alex BrownBadminton Advanced$150.00Approved2026-03-24View / Reverse

Workflow: Program Refund Processing

1
Member cancels program enrollment

A refund entry is created with status Cancelled.

2
Navigate to Program Refunds

View pending refund requests in the Program Refunds tab.

3
Review program and enrollment details

Check the program name, enrollment date, and refund policy.

4
Approve or reject

Choose to approve or reject based on cancellation policy.

5
If approved: process refund

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 IDUser NameInstructor NameAmountStatusDateActions
#INS-54321Mike JohnsonCoach Alex$60.00Cancelled2026-03-26View / Approve / Reject
#INS-54322Lisa ChenCoach Sarah$75.00Approved2026-03-23View / Reverse

Workflow: Instructor Refund Processing

1
Member cancels instructor lesson

A refund entry is created with status Cancelled.

2
Navigate to Instructor Refunds

View pending refund requests in the Instructor Refunds tab.

3
Review instructor and lesson details

Check the instructor, lesson time, and cancellation terms.

4
Approve or reject

Process the refund request based on cancellation policies.

5
If approved: transfer funds

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:

Booking Type Badge Examples:

🟣 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

1
Click Approve Refund

Status updates: Cancelled → Approved.

2
Enter refund amount & confirm

Provide the refund amount and confirm.

3
Result

Refund is processed and credited to the user wallet.

Reject Refund

1
Click Reject Refund

Status updates: Cancelled → Rejected.

2
Result

No refund is processed and the user wallet remains unchanged.

Key Features

FeatureWhat It Means
Category-based organizationRefunds are organized by booking type (Court, Program, Instructor) for easy filtering.
Consistent table structureAll refund types share the same approval/rejection workflow.
Booking type identificationColor-coded badges clearly indicate which type of refund is being processed.
Automatic refund creationRefund entries are created when any booking is cancelled.
Wallet-based processingApproved refunds credit the user wallet across all refund types.

Validation Rules

RuleDependency / Behavior
Refund exists only after booking cancellationRefund entries are created from the booking cancellation event.
Refund must be approved before amount entryAmount is entered only when approving.
Refund amount must be validRefund amount must be non-negative.
Wallet is updated only upon approvalRejected refunds do not affect user balance.
Rejected refunds cannot be processed againOnce rejected, the refund request is final.
⚠️ Payment Gateway Timing Approved refunds update the user wallet in the system. Depending on the payment provider, the external statement may take additional time to reflect.

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 top

Pro 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.

ColumnDescription
Product NameName of the product.
SKUUnique product identifier.
Product TypeSale / Rental.
Price / RateSelling price or rental rate.
StockAvailable quantity.
StatusActive / Low Stock / Out of Stock / Hidden.
Created DateDate of creation.
ActionsEdit / Clone / Deactivate / Delete.

Filters & Controls

FilterDescription
SearchBy product name or SKU.
Product TypeSale / Rental.
StatusActive / Low Stock / Out of Stock / Hidden.
CategoryFilter by product category.
Date RangeFilter by creation date.

Create Product

Click Create Product to add a new product.

Product Details Form

Field NameTypeDescriptionRequired
Product NameTextEnter product name.Yes
DescriptionText AreaProduct details.No
SKUTextUnique identifier.No
Product TypeDropdownSale / Rental.Yes
CategoryDropdownAssign category.No
Tax GroupDropdownFor reporting.No
Revenue GroupDropdownFor reporting.No
Stock / QuantityNumberAvailable quantity.Yes
StatusDropdownActive / Hidden.Yes

Pricing Configuration

Sale ProductsDescription
Base PriceOriginal selling price.
Offer TypePercent / Flat discount.
Offer ValueDiscount value.
Final PriceCalculated automatically.
Rental ProductsDescription
Rental UnitHour / Day.
Rental RatePrice per unit.
DepositOptional refundable amount.
Offer TypePercent / Flat discount.
Offer ValueDiscount value.

Product Lifecycle Tracking

StatusDescription
ActiveAvailable for sale/rental.
Low StockBelow configured threshold.
Out of StockNo stock available.
RentedCurrently rented.
ReturnedRental completed/returned.

Sell a Product

Admins can sell products to individual users directly from the Pro Shop.

Transaction Form

Field NameTypeDescription
Select UserSearch DropdownChoose user to sell to.
Product / VariantDropdownSelect product or variant to sell.
QuantityNumberNumber of items to sell.
Price OverrideNumberAdjust price per user (optional).
Payment MethodDropdownPOS / Wallet / Pay Later.
NotesText AreaOptional transaction notes.

System Behavior

FunctionalityDescription
Price CalculationBased on base/offer pricing or override.
Invoice GenerationAuto-generated after sale transaction.
Stock UpdateReduces available stock immediately.
Status UpdateUpdates product lifecycle status.

Notifications & Emails

TriggerRecipient
Product SoldUser + Admin.
Low Stock AlertAdmin.
Out of Stock AlertAdmin.

Sales History Overview

The Sales History section displays all completed product sales transactions with comprehensive filtering and search capabilities.

Sales History List

ColumnDescription
Transaction IDUnique identifier for the sale.
DateDate and time of the sale.
UserCustomer who purchased the item.
ProductProduct name and variant.
QuantityNumber of items sold.
Unit PricePrice per item.
Total AmountTotal transaction amount.
Payment MethodPOS / Wallet / Pay Later.
StatusCompleted / Refunded / Cancelled.

Filters & Search

FilterDescription
Date RangeFilter sales by custom date range.
User SearchSearch by customer name or email.
ProductFilter by specific product.
Payment MethodFilter by payment type.
StatusFilter by transaction status.
Amount RangeFilter by transaction amount.

Actions

ActionDescription
View DetailsView complete transaction details and invoice.
Print ReceiptPrint or download transaction receipt.
RefundProcess refund for completed sale.
ExportExport selected transactions to CSV/PDF.

Refund Processing

StatusDescriptionActions
CompletedSale successfully processed.Refund available.
RefundedAmount returned to customer.View refund details.
CancelledTransaction cancelled before completion.No refund needed.

Sales Analytics

MetricDescription
Total SalesSum of all completed sales.
Average Order ValueAverage amount per transaction.
Top ProductsMost frequently sold items.
Sales by CategoryRevenue breakdown by product category.
Payment Method DistributionSales split by payment method.

Rent a Product

Admins can rent products to individual users directly from the Pro Shop.

Rental Transaction Form

Field NameTypeDescription
Select UserSearch DropdownChoose user to rent to.
Product / VariantDropdownSelect rental product or variant.
QuantityNumberNumber of items to rent.
Rental DurationNumberDuration of rental period.
Price OverrideNumberAdjust rental rate per user (optional).
Payment MethodDropdownPOS / Wallet / Pay Later.
NotesText AreaOptional rental notes.

Rental System Behavior

FunctionalityDescription
Rental CalculationRate × duration + deposit (if applicable).
Invoice GenerationAuto-generated after rental transaction.
Stock ReservationTemporarily reserves items from stock.
Return TrackingMonitors rental period and return status.

Rental Notifications & Emails

TriggerRecipient
Product RentedUser + Admin.
Product ReturnedUser + Admin.
Rental OverdueUser + Admin.
Low Stock AlertAdmin.
Out of Stock AlertAdmin.

Rental History Overview

The Rental History section displays all completed equipment rental transactions with return status and duration tracking.

Rental History List

ColumnDescription
Transaction IDUnique identifier for the rental.
Rental DateDate and time when rental started.
Return DateActual or expected return date.
UserCustomer who rented the item.
ProductEquipment name and variant.
DurationRental period (hours/days).
Total AmountTotal rental cost including deposit.
DepositRefundable deposit amount.
StatusReturned / Overdue / Lost / Damaged.

Filters & Search

FilterDescription
Date RangeFilter rentals by rental or return date.
User SearchSearch by customer name or email.
ProductFilter by specific equipment.
StatusFilter by rental status.
Overdue OnlyShow only overdue rentals.
Amount RangeFilter by rental amount.

Actions

ActionDescription
View DetailsView complete rental details and agreement.
Process ReturnMark item as returned and process deposit refund.
Extend RentalExtend rental period for active rentals.
Report Damage/LossReport equipment damage or loss.
Print AgreementPrint or download rental agreement.
ExportExport selected rentals to CSV/PDF.

Pro Shop Reports

ReportDescription
Sales ReportProduct sales and revenue.
Rental ReportActive and returned rentals.
Stock ReportInventory levels.
Revenue ReportEarnings breakdown.

Filters

FilterOptions
Date RangeCustom.
ProductName.
VariantVariant.
UserConsumer.
TypeSale / Rental.
Payment MethodPOS / Wallet / Card.

Export

FormatNotes
CSVDownload report data as CSV.
PDFDownload report output as PDF.

Audit & Traceability

FieldDescription
Action TypeCreate / Edit / Sale / Rental.
Admin IDWho performed the action.
Product / VariantAffected item.
UserAssociated user (if applicable).
TimestampAction time.
ChangesPrevious 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

ColumnDescription
Category NameName of the revenue category.
DescriptionOptional description of the category.
Product CountNumber of products assigned to this category.
Total RevenueCumulative revenue from this category.
StatusActive / Inactive.
Created DateDate the category was created.
ActionsEdit / Delete / View Products.

Create Revenue Category

Field NameTypeDescriptionRequired
Category NameTextEnter category name.Yes
DescriptionText AreaOptional category description.No
StatusDropdownActive / Inactive.Yes

Category Management Actions

ActionDescription
Create CategoryAdd a new revenue category.
Edit CategoryModify category name, description, or status.
Delete CategoryRemove category (only if no products are assigned).
View ProductsSee all products in this category.
Revenue ReportView revenue breakdown by category.

Category Analytics

MetricDescription
Product CountNumber of products per category.
Sales by CategoryRevenue generated by category.
Popular CategoriesMost sold categories.
Category PerformanceSales trends by category over time.

Category Assignment

FunctionalityDescription
Product AssignmentAssign products to categories during product creation/editing.
Multiple CategoriesAllow products to belong to multiple revenue categories.
Bulk AssignmentAssign multiple products to a category at once.
Category FilteringFilter products by revenue category in product lists.
↑ Back to top

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

MetricDescription
Active MembersCurrent number of active membership subscriptions
New SignupsMembers who joined within the selected time period
Churn RatePercentage of members who cancelled their memberships
Plan DistributionBreakdown of members by membership plan type
Revenue by PlanTotal revenue generated by each membership plan
Average Revenue Per MemberARPU calculation for membership plans

Report Filters

FilterOptions
Date RangeCustom date range, last 7 days, last 30 days, last 90 days, year-to-date
Membership PlanAll plans or specific plan types
Member StatusActive, Inactive, Cancelled, Expired
Payment StatusPaid, Pending, Overdue, Failed

Export Options

FormatDescription
Excel (.xlsx)Detailed membership data with all metrics and filters applied
CSVRaw data export for external analysis
PDF ReportFormatted 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

MetricDescription
Total RevenueSum of all successful transactions within the selected period
Transaction CountTotal number of successful transactions
Average Transaction ValueAverage amount per transaction
Payment MethodsBreakdown by payment method (Card, Wallet, POS, etc.)
Daily/Monthly TrendsRevenue trends over time periods
Failed TransactionsCount and reasons for failed payment attempts

Report Filters

FilterOptions
Date RangeCustom date range, last 7 days, last 30 days, last 90 days, year-to-date
Transaction TypeMemberships, Bookings, Pro Shop Sales, Program Enrollments, Refunds
Payment MethodAll methods or specific payment types
Amount RangeFilter by transaction amount thresholds
StatusCompleted, Pending, Failed, Refunded

Export Options

FormatDescription
Excel (.xlsx)Detailed transaction data with all financial metrics
CSVRaw transaction data for accounting software
PDF ReportFormatted financial report with charts and summaries
QuickBooks ExportFormatted for QuickBooks accounting integration

Revenue Breakdown

Revenue SourceDescription
Membership FeesRecurring membership subscription revenue
Court BookingsRevenue from court reservation fees
Instructor LessonsRevenue from instructor-led sessions
Pro Shop SalesRevenue from product and equipment sales
Program EnrollmentsRevenue from program and class registrations
RefundsNegative 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

MetricDescription
Total BookingsNumber of bookings created within the selected period
Court Utilization RatePercentage of available court slots that were booked
Cancellation RatePercentage of bookings that were cancelled
Average Booking ValueAverage revenue per booking
Peak Booking HoursTimes with highest booking demand
Revenue by CourtTotal revenue generated per court

Report Filters

FilterOptions
Date RangeCustom date range, last 7 days, last 30 days, last 90 days, year-to-date
CourtAll courts or specific court types
Booking StatusConfirmed, Cancelled, Completed, No-show
Time of DayPeak hours, off-peak hours, all hours
Member TypeAll members or specific membership plans

Export Options

FormatDescription
Excel (.xlsx)Detailed booking data with utilization metrics
CSVRaw booking data for analysis
PDF ReportFormatted 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

MetricDescription
Lessons BookedTotal number of lessons scheduled with instructors
Revenue per InstructorTotal revenue generated by each instructor
Lessons CompletedNumber of lessons successfully completed
Cancellation RatePercentage of instructor lessons cancelled
Average RatingStudent satisfaction ratings for instructor sessions
Workload DistributionLessons and hours per instructor over the period

Report Filters

FilterOptions
Date RangeCustom date range, last 7 days, last 30 days, last 90 days, year-to-date
InstructorAll instructors or specific instructor selection
Lesson TypeAll lesson types or specific categories
Session StatusScheduled, Completed, Cancelled, No-show
Rating RangeFilter by student satisfaction ratings

Export Options

FormatDescription
Excel (.xlsx)Detailed instructor performance and financial data
CSVRaw lesson booking and scheduling data
PDF ReportFormatted 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

MetricDescription
Total EnrollmentsNumber of members enrolled in programs during the period
Completion RatePercentage of enrolled members who complete the program
Dropout RatePercentage of enrolled members who drop out
Average EngagementAverage participation level per member
Program CapacityEnrollment as percentage of program capacity
Member SatisfactionAverage rating and feedback scores for programs

Report Filters

FilterOptions
Date RangeCustom date range, last 7 days, last 30 days, last 90 days, year-to-date
ProgramAll programs or specific program selection
Program CategoryFitness, Training, Events, Other categories
StatusActive, Completed, Cancelled, Upcoming
Member LevelBeginner, Intermediate, Advanced, All levels

Export Options

FormatDescription
Excel (.xlsx)Detailed program engagement and completion data
CSVRaw enrollment and participation data
PDF ReportFormatted 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

MetricDescription
Total Program RevenueSum of all program enrollment fees collected
Revenue by ProgramFinancial performance breakdown per program
Enrollment CountNumber of paid program enrollments
Average Enrollment ValueAverage revenue per enrollment
Payment StatusBreakdown of paid, pending, and overdue payments
Revenue TrendsProgram revenue patterns over time

Report Filters

FilterOptions
Date RangeCustom date range, last 7 days, last 30 days, last 90 days, year-to-date
ProgramAll programs or specific program selection
Program CategoryAll categories or specific types
Payment StatusPaid, Pending, Overdue, Failed, Refunded
InstructorAll instructors or specific instructor filter

Export Options

FormatDescription
Excel (.xlsx)Detailed program revenue and payment data
CSVRaw enrollment and revenue data for accounting
PDF ReportFormatted 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

MetricDescription
Total RevenueSum of all revenue from all sources within the selected period
Revenue GrowthPercentage change in revenue compared to previous period
Revenue by SourceBreakdown of revenue by category (Memberships, Bookings, Programs, Pro Shop, etc.)
Monthly/Quarterly TrendsRevenue patterns and trends over time
Average Revenue Per MemberARPU across all revenue streams
Profit MarginsGross profit calculations by revenue source
Top Revenue ContributorsHighest performing revenue categories and items

Report Filters

FilterOptions
Date RangeCustom date range, last 7 days, last 30 days, last 90 days, year-to-date, fiscal year
Revenue SourceAll sources or specific categories (Memberships, Bookings, Programs, Pro Shop, Refunds)
Location/CourtAll locations or specific facility filters
Payment StatusPaid, Pending, Overdue, Failed, Refunded
Amount RangeFilter by revenue amount thresholds
Comparison PeriodCompare with previous period, same period last year

Export Options

FormatDescription
Excel (.xlsx)Comprehensive revenue data with all metrics and breakdowns
CSVRaw revenue data for accounting and analysis software
PDF ReportFormatted financial report with charts, trends, and summaries
QuickBooks ExportFormatted for QuickBooks accounting integration
Tax PreparationSummarized data formatted for tax reporting

Revenue Breakdown by Source

Revenue SourceDescriptionTypical Contribution
Membership FeesRecurring subscription revenue from membership plans40-60%
Court BookingsRevenue from court reservation and facility usage fees20-30%
Program EnrollmentsRevenue from program and class registrations10-20%
Instructor LessonsRevenue from private and group instructor-led sessions5-15%
Pro Shop SalesRevenue from equipment, apparel, and merchandise sales5-10%
Other ServicesAdditional revenue from events, tournaments, and special services0-5%
✅ Export Reports Most report views have an Export button (Excel/CSV) to download data for external analysis.

Expected Outcome

Accurate reporting across all modules, clearer visibility into revenue and operations, and data-driven decision making for admins.

↑ Back to top

Notifications

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 TypeTrigger EventContent Details
Booking ConfirmationCourt Booking CreationFull booking details: type, date, time, duration, court & location, player & guest information, payment summary, booking status
Booking UpdateCourt Booking UpdateUpdated booking information with change highlights and new status
Booking CancellationCourt Booking CancellationCancellation confirmation with refund details and cancellation reason

Email Content Structure

FieldDescriptionFormat
Booking TypeE.g., Court BookingText
Date, Start Time, DurationScheduled booking time detailsFormatted datetime
Court & Location DetailsAssigned venue and courtText with location info
Player & Guest InformationNames and participant detailsFormatted list
Payment SummaryTotal amount and split payment detailsCurrency formatted
Booking StatusCreated, Updated, or CancelledStatus badge

SMS Channel Overview

SMS notifications provide concise alerts for time-sensitive booking information.

SMS Template Types

Message TypeCharacter LimitPurposeKey Information
Booking Reminder160Sent before scheduled booking timeDate, time, court location
Cancellation Alert160Sent when booking is cancelledCancellation status, refund info
Payment Confirmation160Sent after successful paymentPayment amount, booking reference

SMS Content Guidelines

GuidelineRequirementExample
BrevityUnder 160 characters"Court booking confirmed for Today 3PM"
ClarityEssential info only"Court A, EPIC Sports - Booking #12345"
ActionClear 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 TypeMax LengthDeliveryUser Action
Booking Created50 charsInstant delivery to mobile appTap to view details
Booking Updated50 charsReal-time update to mobile appTap to see changes
Booking Cancelled50 charsImmediate alert to mobile appTap to view status

Push Notification Features

FeatureDescriptionBenefit
Real-Time UpdatesLatest booking status shown immediatelyInstant awareness of changes
Actionable MessagesClear booking context providedQuick decision making
Unread CounterBell icon reflects unread countVisual notification tracking

User Notification Preferences

Users can control which events trigger which notification types for personalized experience.

Preference Options

PreferenceOptionsDefaultImpact
Email NotificationsEnabled/DisabledEnabledReceives detailed email notifications
SMS NotificationsEnabled/DisabledDisabledReceives SMS alerts for key events
Push NotificationsEnabled/DisabledEnabledReceives real-time app notifications
Notification FrequencyInstant/Daily SummaryInstantControls delivery timing

Notification Recipients

Recipient TypeNotifications ReceivedPurpose
AdminAll notificationsOperational oversight
Player(s)Own booking notificationsPersonal booking management

Notification Template Management

Templates define the structure and content of automated notifications across all channels.

Template Categories

Template CategoryUsageCustomizationVariables
Booking LifecycleAll booking eventsFull customizationBooking details, user info
Payment EventsPayment confirmationsLimited customizationAmount, payment method
System AlertsMaintenance and updatesSystem-definedSystem messages

Notification Triggers

EventDescriptionTemplate Used
Court Booking CreationTriggered when a new booking is successfully createdBooking Confirmation Template
Court Booking UpdateTriggered when an existing booking is editedBooking Update Template
Court Booking CancellationTriggered when a booking is cancelledBooking Cancellation Template

Custom Notification Campaigns

Create one-off or recurring manual notification campaigns for targeted communications.

Campaign Types

Campaign TypeAudienceSchedulingUse Case
AnnouncementAll Users/Specific GroupsImmediate or ScheduledGeneral announcements
Maintenance AlertAll UsersImmediateSystem maintenance notices
Marketing CampaignTargeted SegmentsScheduledPromotional communications

Key Actions for Notification Management

ActionHowPurpose
View NotificationsNotifications load automatically in chronological orderReview notification history
Mark as ReadClick the check icon on any notification rowManage read status
Mark All as ReadClick Mark All as Read button at the top of the listBulk status update
Load MoreUse pagination controls at the bottom of the listNavigate extensive history

Purpose & Benefits

BenefitImpact
TransparencyAll booking actions are clearly communicated
Reduced miscommunicationAdmins and players stay aligned on booking changes
Real-time updatesSupports faster responses and clear action-taking
Channel redundancyEmail + in-app delivery improves message reliability
Notification Center

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.

↑ Back to top

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

1
Navigate to Announcements

Open the Admin Dashboard and select Announcements.

2
Click Create Announcement

Open the announcement creation form.

3
Enter announcement details

Set title, content, type, and priority.

4
Set active duration

Choose start and end date/time for when the announcement should be visible.

5
Select target audience

Choose which users or groups should receive the announcement.

6
Configure actions & visibility, then publish

Set CTA (optional), home page visibility, dismissable behavior, and whether the announcement is active. Click Create to publish.

Create Announcement — Form Fields

FieldTypeRequiredDescription / Behavior
TitleInputRequiredTitle of the announcement.
ContentTextareaRequiredDetailed message content.
TypeDropdownRequiredDefines message style (Success, Warning, Danger, Info).
PriorityDropdownRequiredPriority level: Low, Medium, High.
Start DateTimeDate-Time PickerRequiredWhen the announcement becomes active.
End DateTimeDate-Time PickerRequiredWhen the announcement expires.
Target AudienceMulti-selectRequiredSelect users or groups to target.
Action Button TextInputOptionalCTA button label.
Action URLInputOptionalRedirect link for CTA.
ActiveCheckboxOptionalEnables/disables visibility.
DismissableCheckboxOptionalAllows users to close the announcement.
Show on Home PageCheckboxOptionalDisplays 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.

💡 Interactive Documentation Behavior
  • 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

FeatureBenefit
Targeted announcementsSend messages to the right groups without broadcasting everything to everyone.
Active schedulingControl visibility using active state and start/end times.
Type & priority controlsUse Success/Warning/Danger/Info and Low/Medium/High priority styling.
CTA buttons (optional)Add a button with a redirect URL for quick actions.
Dismissable messagesAllow users to close announcements for better UX.

Validation Rules

RuleDependency / Behavior
Title and Content are mandatoryPublish is blocked until both fields are provided.
Start DateTime must be before End DateTimePrevents invalid scheduling windows.
At least one target audience must be selectedPrevents announcements from being created with no recipients.
Visibility is limited by Active and scheduleThe 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

FilterDescription
Search filterFind specific announcements by keyword in title or content.
Status filterAll / Active / Inactive / Scheduled / Expired
Type filterSuccess / Warning / Danger / Info
Priority filterLow / Medium / High
Target Audience filterFilter by audience type: All Users, All Package Subscribers, All Program Enrollees, All Lesson Bookers, Package Subscribers, Program Enrollees, Lesson Bookers, Specific Users
Date range filterFilter announcements by creation date or active period.

Announcements List Table

TitleAudience TypeTypePriorityStatusStart DateEnd DateActions
Welcome MessageAll UsersInfoLowActive2024-01-01 00:002024-12-31 23:59Edit · Delete
Package Renewal ReminderAll Package SubscribersWarningMediumActive2024-03-01 09:002024-03-31 17:00Edit · Delete
Program Schedule UpdateAll Program EnrolleesInfoHighScheduled2024-03-15 08:002024-03-15 20:00Edit · Delete
Lesson Cancellation NoticeLesson BookersDangerHighExpired2024-02-20 10:002024-02-20 12:00Edit · Delete
Personal Training OfferSpecific UsersSuccessMediumActive2024-03-10 00:002024-03-20 23:59Edit · Delete

Note: The Audience Type column shows the primary audience category for each announcement. Announcements can target multiple audience types simultaneously.

↑ Back to top

Questions & 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 / CounterDescription
Search filterFind specific questions by keyword.
Status filterAll / Active / Inactive
Question TypesText · Single Choice · Multiple Choice · Number · Date
Total QuestionsCount of all questions in the system.
Active QuestionsCount of currently active questions.
Questions with OptionsCount of questions that have answer options configured.
Questions with DependenciesCount of questions that are conditionally triggered by another question.
➕ Create a Question
1
Click on Create Question
2
Enter the Question Text
3
Select the Question Type

Choose from: Text, Single Choice, Multiple Choice, Number, or Date.

4
Set the Display Order
5
Toggle Active Status

Switch On or Off to control whether this question is active.

6
Add Options (if applicable)

Click Add Option, enter an option value, and repeat to add multiple options.

7
Add Dependencies (optional)

Select the dependent question, define the answer condition that triggers this question, and add Question and Answer logic as required.

8
Click Save / Create Question
✅ Success The question will be created and listed on the Questions page.
✏️ Edit a Question
1
Navigate to Settings → Questions & Onboarding
2
Locate the question you want to update
3
Click on the Edit option
4
Update the question

Modify question text, type, options, dependencies, or status as needed.

5
Click Save
✅ Success The question will be updated successfully.
🗑️ Delete a Question
1
Navigate to Settings → Questions & Onboarding
2
Locate the question you want to remove
3
Click on the Delete option
4
Confirm the deletion
⚠️ Warning Once deleted, the question will be permanently removed and will no longer appear in onboarding flows.

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

1
Log in to the Admin Dashboard
2
Navigate to Settings

Select Settings from the left-side menu.

3
Select Onboarding Questionnaires

Questionnaires List View

The Onboarding Questionnaires page provides an overview of all questionnaires and their status.

Counter / ColumnDescription
Total QuestionsTotal number of questionnaires in the system.
Active QuestionsCount of currently active questionnaires.
Global QuestionnairesCount of questionnaires applied across all sports.
Sport-Specific QuestionnairesCount of questionnaires scoped to a specific sport.
NameQuestionnaire name.
TypeText / Single Select / Multi Select
ScopeGlobal or Sport-specific
OrderDisplay order in the onboarding flow.
StatusActive / Inactive
ActionsView / Edit / Delete
➕ Create an Onboarding Questionnaire
1
Click on Create Questionnaire
2
Add the required questions

Select and add questions to include in this questionnaire.

3
Configure each question

For each question, set: Question Text, Question Type (Text / Single Select / Multi Select), and Display Order.

4
Enable Global Toggle (if applicable)

Enable if the questionnaire should be shown for all sports. Disable for sport-specific questionnaires.

5
Toggle Active Status

Enable or disable the questionnaire during onboarding.

6
Click Create Questionnaire
✅ Success The onboarding questionnaire will be created successfully.
👁️ View a Questionnaire
1
Navigate to Settings → Onboarding Questionnaires
2
Click on the View option

Opens the questionnaire detail view.

📋 View Details Displays all configured questions with: Question text, Type, Order, Scope (Global / Sport-specific), and Status.
✏️ Edit an Onboarding Questionnaire
1
Navigate to Settings → Onboarding Questionnaires
2
Locate the questionnaire you want to update
3
Click Edit
4
Update the questionnaire

Modify questions, types, order, scope, or status as needed.

5
Click Save
✅ Success Changes will reflect immediately in the onboarding flow.
🗑️ Delete an Onboarding Questionnaire
1
Navigate to Settings → Onboarding Questionnaires
2
Locate the questionnaire you want to remove
3
Click Delete
4
Confirm the deletion
⚠️ Warning Once deleted, the questionnaire is permanently removed and will no longer appear in the registration flow. Re-create it manually if needed.
↑ Back to top

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.

Total Tags

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.

🔍 Type a tag name or keyword in the search field to filter the tag list instantly.

Creating New Tags

Click the Create New Tags button to open the tag creation form. You can enter multiple tags at once.

➕ Create New Tags
1
Click the Create New Tags button

Located in the top-right corner of the Content Tags page.

2
Enter tag names in the input field
FieldDescriptionRequired
Tag Names * Enter one or more tag names. Separate multiple tags using commas or new lines.
Example:
Sports, Tennis
Basketball
Football
Required
3
Click Create Tags or Cancel
ButtonAction
Create TagsSaves all entered tags and adds them to the tag list immediately. The total counter updates.
CancelCloses the form without saving any tags.
✅ Created All entered tags appear in the tag list below. The total tag counter updates to reflect the new count.

Tag List

All created tags are displayed in a list. Each tag has a checkbox for selection and a delete action.

ColumnDescription
CheckboxSelect one or more tags for bulk deletion.
Tag NameThe label of the tag, e.g. Sports, Tennis.
Created AtDate and time the tag was created.
DeletePermanently remove the tag.
🗑️ Deleting Tags

Delete a Single Tag

1
Locate the tag in the tag list.
2
Click the Delete icon next to the tag.
3
Confirm deletion in the popup modal.

Delete Multiple Tags

1
Check the checkbox next to each tag you want to delete.
2
Click the Delete Selected button that appears when one or more tags are checked.
3
Confirm deletion in the popup modal.
⚠️ Permanent Action Deleted tags are removed immediately and cannot be recovered. Any content items using these tags will lose the association. Tags cannot be edited — delete and re-create if a correction is needed.
ℹ️ Content coming soon. This section will cover browsing, creating, and managing content items.
↑ Back to top

👤 User Management

Sub-sectionRoutePurpose
User Management/settings/user-management/user-managementManage admin dashboard users — add, edit, deactivate.
User Roles/settings/user-management/user-rolesDefine role-based access levels (Admin, Staff, Viewer).

📄 Terms & Conditions

Sub-sectionRoutePurpose
Terms & Conditions/settings/terms-and-conditionsCreate and manage the Terms & Conditions displayed to users during registration and booking.
↑ Back to top

Routing

💳 Payment Settings

Sub-sectionRoutePurpose
Tax Groups/settings/payment-settings/tax-groupsCreate tax rules with rates and applicable regions.
Pricing Rules/settings/payment-settings/pricing-rulesSet dynamic pricing, discounts, peak/off-peak rates.
Subscription Plans/settings/payment-settings/subscription-plansCreate and manage membership subscription packages.

🏟️ Court & Location Management

Sub-sectionRoutePurpose
Locations/settings/court-settings/locationsManage facility locations and sites.
Courts/settings/court-settings/courtsCreate and manage court configurations.
Reservation Types/settings/court-settings/reservation-typesDefine booking reservation types and rules.
Court Schedules/settings/court-settings/court-schedulesSet court operating hours and availability schedules.
Court Admins/settings/court-settings/court-adminsManage court administrator permissions and access.
Receptionist/settings/court-settings/receptionistConfigure receptionist duties and front desk operations.

⚽ Sports Settings

Sub-sectionRoutePurpose
Sports/settings/sports-settings/sportsManage sports categories and configurations.
Lesson Types/settings/sports-settings/lesson-typesDefine different lesson types and their properties.
Focus Area/settings/sports-settings/focus-areaConfigure focus areas for training and development.

🔔 Notification Settings

Sub-sectionRoutePurpose
Email Templates/settings/notification-settings/email-templatesEdit HTML email templates for booking confirmations, cancellations, etc.
SMS Templates/settings/notification-settings/sms-templatesCustomize SMS message text for automated notifications.
Push Templates/settings/notification-settings/push-templatesEdit push notification content for member mobile app.
Notification Preferences/settings/notification-settings/notification-preferencesControl which events trigger which notification types.
Custom Notifications/settings/notification-settings/custom-notificationsCreate one-off or recurring manual notification campaigns.

🎓 Program Management

Sub-sectionRoutePurpose
Program Categories/settings/program-management/program-categoriesCreate categories to group programs (e.g., Youth, Adult, Elite).
Program Sessions/settings/program-management/program-sessionsDefine session types used when creating programs.
Program Tags/settings/program-management/program-tagsCreate tags for filtering and searching programs.

🛡️ Security

Sub-sectionRoutePurpose
Security Settings/settings/security/security-settingsConfigure security policies and access controls.
Two-Factor Authentication/settings/security/two-factor-authEnable and manage 2FA for enhanced security.
Session Management/settings/security/session-managementMonitor and control active user sessions.

👤 User Management

Sub-sectionRoutePurpose
User Management/settings/user-management/user-managementManage admin dashboard users — add, edit, deactivate.
User Roles/settings/user-management/user-rolesDefine role-based access levels (Admin, Staff, Viewer).

📄 Terms & Conditions

Sub-sectionRoutePurpose
Terms & Conditions/settings/terms-and-conditionsCreate and manage the Terms & Conditions displayed to users during registration and booking.
↑ Back to top

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.

ColumnDescription
SearchFilter categories by keyword.
NameThe category name.
DescriptionA brief description of the category's purpose.
AssociationBooking targets currently linked to this category.
EditModify the category details.
DeletePermanently remove the category.
➕ Create a Revenue Category 3 steps
1
Click Add Category
2
Fill in the category details
FieldRequiredNotes
NameRequiredA short, descriptive label. e.g. "Court Revenue"
DescriptionOptionalExplain the category's purpose. e.g. "Covers all court booking income"
AssociationOptionalBooking targets linked at creation time.
3
Click Save
✅ Created The revenue category appears on the list page and is ready to be linked to targets.
👁️ View a Revenue Category 2 steps
1
Click any category name in the list
2
Review the category detail page

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

1
Select a Start Date and End Date

e.g. 01 Jan 2026 – 31 Jan 2026

2
Click Add Target Type

A modal opens to select a target type. Choose one of:

Court Bookings Program Instructor Packages Sports Subcourts Courts Lesson Types Attributes
3
Confirm the selection
📊 Result The system calculates and displays revenue for the selected target type within your chosen date range.

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.

ColumnDescription
IDUnique identifier of the item.
NameName of the target item.
LinkAssociate the item with this revenue category.
UnlinkRemove the item's association from this category.
ℹ️ Note Changes take effect immediately based on the selected revenue type.
✏️ Edit a Revenue Category 4 steps
1
Go to Settings → Payment & Billing → Revenue Categories
2
Click Edit on the desired category
3
Update the category name, description, or association
4
Click Save
✅ Updated Changes are applied immediately.
🗑️ Delete a Revenue Category 3 steps
ℹ️ Permission Required Deleting a Revenue Category requires Admin access.
1
Go to Settings → Payment & Billing → Revenue Categories
2
Click Delete on the desired category
3
Confirm the deletion
⚠️ Permanent Action Deleting a revenue category removes all existing target associations. This cannot be undone — re-create the category manually if needed.
↑ Back to top

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.

ColumnDescription
Tax Group NameThe descriptive label for the tax rule.
Tax RateThe applied percentage, e.g. 15 for 15%.
Created AtDate and time the group was created.
Updated AtDate and time of the most recent change.
EditModify the name or rate.
DeletePermanently remove the tax group.
➕ Create a Tax Group 4 steps
1
Go to Settings → Payment & Billing → Tax Groups
2
Click Create Tax Group
3
Fill in the tax group details
FieldRequiredNotes
Tax Group NameRequiredA clear label. e.g. "Standard VAT" or "Reduced Rate"
Tax RateRequiredEnter as a whole number. e.g. 15 for 15%
4
Click Save
✅ Created The tax group is now listed and available to apply in pricing and billing.
✏️ Edit a Tax Group 5 steps
1
Go to Settings → Payment & Billing → Tax Groups
2
Find the tax group to update
3
Click Edit
4
Update the name or rate
5
Click Save
✅ Updated The new name and rate take effect immediately across all linked pricing rules.
🗑️ Delete a Tax Group 4 steps
ℹ️ Permission Required Deleting tax groups requires Admin access. Staff accounts cannot perform this action.
1
Go to Settings → Payment & Billing → Tax Groups
2
Find the tax group to remove
3
Click Delete
4
Confirm the deletion
⚠️ Permanent Action Once deleted, the tax group is permanently removed and can no longer be applied in billing. Re-create it manually if needed.
↑ Back to top

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

⏱️ 60 mins (1 hour)
⏱️ 90 mins (1.5 hours)
⏱️ 120 mins (2 hours)

📊 List View

All configured durations are listed here with search and management actions.

ColumnDescription
SearchFilter durations by value.
DurationThe time value in minutes, e.g. 60 = 1 hour.
Created AtDate and time of duration was added.
Updated AtDate and time of most recent change.
EditModify the duration value.
DeletePermanently remove the duration.
➕ Add Booking Duration

➕ Add Booking Duration

1
Click Add Booking Duration
Navigate to the booking duration creation interface.
2
Enter Duration
Enter the time value in minutes (e.g., 30 for 30 minutes, 90 for 1.5 hours).
3
Click Save
The duration is immediately available as a selectable option in booking forms.
✅ Success
The new booking duration is now available system-wide and appears as an option when users create bookings.
✏️ Edit Booking Duration

✏️ Edit Booking Duration

1
Navigate to Settings → Booking Duration
Access the booking duration management page from the Settings menu.
2
Find Duration to Update
Locate the existing duration you want to modify using the search or list view.
3
Click Edit
Open the duration in edit mode to modify its value.
4
Enter New Duration
Update the duration value in minutes as needed.
5
Click Save
The updated duration is immediately available across all booking forms.
✅ Updated
The booking duration has been successfully updated and is now active system-wide.
🗑️ Delete Booking Duration

🗑️ Delete Booking Duration

1
Navigate to Settings → Booking Duration
Access the booking duration management page from the Settings menu.
2
Find Duration to Remove
Locate the duration you want to delete using the search or list view.
3
Click Delete
Initiate the deletion process for the selected duration.
4
Confirm Deletion
Confirm the action to permanently remove the duration from the system.
⚠️ Permanent Action
Once deleted, this duration will no longer appear as a booking option. Re-add it manually if needed.
↑ Back to top

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.

➕ Create a Label 3 steps
1
Click Create Label
2
Fill in the label details
FieldRequiredNotes
NameRequiredShort and descriptive. e.g. "Hot Lead" or "Follow Up"
DescriptionOptionalExplain when this label should be used.
PriorityRequiredA number ranking. e.g. 1 = highest priority
3
Click Save
✅ Created The label is now available to assign to any prospect from the Prospects board.
✏️ Edit a Label 5 steps
1
Go to Settings → Labels Management
2
Find the label to update
3
Click Edit
4
Update the name, description, or priority
5
Click Save
✅ Updated The label change reflects immediately on all prospects where it is assigned.
🗑️ Delete a Label 4 steps
1
Go to Settings → Labels Management
2
Find the label to remove
3
Click Delete
4
Confirm the deletion
⚠️ Permanent Action Once deleted, the label is removed from all prospects it was assigned to and cannot be recovered. Re-create it manually if needed.
↑ Back to top

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

1
Log in to the EPIC Admin Dashboard

Use your admin credentials at the login screen.

2
Click on Geographic Settings from the left-side menu /settings/geographic-settings
3
Select Countries

Click the Countries tab to manage country-level information.

➕ Add a Country 3 steps
1
Click the Add Country button

Located in the top-right corner of the Countries list.

2
Fill in the country details
FieldRequiredDescription
Country NameRequiredFull display name of the country. e.g. United States
Country CodeRequiredISO 3166-1 alpha-2 code. e.g. US, GB, CA
Phone CodeRequiredInternational dialing prefix. e.g. +1, +44
Phone NumberOptionalSample or default contact number for the country.
Flag ImageOptionalUpload the country flag. JPEG or PNG, max 2 MB recommended.
3
Click Save Country

The newly added country will appear in the Country List and become available in all address and phone fields.

✅ Created The country is now selectable in member registration forms, court location settings, and any address field across the dashboard.
✏️ Edit a Country 4 steps
1
Locate the country in the Country List
2
Click the Edit icon

The edit form opens pre-populated with the current values.

3
Update the required details

Any field — name, code, phone code, or flag — can be changed.

4
Click Update to save changes
✅ Updated Changes take effect immediately across all forms that reference this country.
🗑️ Delete a Country 3 steps
1
Locate the country in the Country List
2
Click the Delete icon

A confirmation modal will appear.

3
Confirm deletion in the popup modal
⚠️ Permanent Action Deleting a country removes it from all address and phone selectors. Any existing records that referenced it will retain their stored data, but the country cannot be re-selected. Re-add it manually if needed.

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

1
Log in to the EPIC Admin Dashboard

Use your admin credentials at the login screen.

2
Click on Geographic Settings from the left-side menu /settings/geographic-settings
3
Select States & Provinces

Click the States & Provinces tab to manage state and province-level information.

➕ Add a State / Province 3 steps
1
Click the Add State/Province button

Located in the top-right corner of the States & Provinces list.

2
Fill in the details
FieldRequiredDescription
State/Province NameRequiredFull display name. e.g. California, Ontario
AddressOptionalAddress or descriptive text associated with the state/province.
Display OrderOptionalInteger controlling sort position in dropdowns and lists. Lower = higher.
Cover ImageOptionalRepresentative image for the state/province. JPEG or PNG, max 5 MB.
Show on Home PageOptionalToggle ON to feature this entry on the public homepage.
Publish StatusOptionalToggle ON to publish. Unpublished entries are hidden from users.
3
Click Save State/Province

The newly added entry will appear in the States & Provinces list.

✅ Created The state/province is now available in location selectors and, if published, visible to users in address forms.
✏️ Edit a State / Province 4 steps
1
Locate the state/province in the list
2
Click the Edit icon

The edit form opens pre-populated with current values.

3
Update the required details

Any field including name, display order, visibility toggles, or cover image can be changed.

4
Click Update to save changes
✅ Updated Changes take effect immediately across all forms and public pages that reference this entry.
🗑️ Delete a State / Province 3 steps
1
Locate the state/province in the list
2
Click the Delete icon

A confirmation modal will appear.

3
Confirm deletion in the popup modal
⚠️ Permanent Action Deleting a state/province removes it from all location selectors. Existing records that referenced it retain their stored data, but the entry cannot be re-selected. Re-add it manually if needed.
↑ Back to top

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. 1
    Log in to the EPIC Admin Dashboard.
  2. 2
    From the left-side menu, click on Locations to open the module.

Creating a Location

  1. 1
    Click the Create Location button.
  2. 2
    Fill in the following details:
FieldDescriptionRequired
Location NameEnter the name of the location.Required
DescriptionAdd a brief description.Optional
Cover ImageUpload an image representing the location.Optional
RegionSpecify the region.Optional
Tax GroupSelect applicable tax group.Optional
TimezoneAdd the location timezone.Required
PhoneEnter contact number.Optional
EmailEnter email address.Optional
Website URLAdd the location website.Optional
Displayed OrderSet the display order for the location.Optional
Published StatusToggle ON to publish the location.Required
  1. 3
    Click Save Location to add the location.
  2. 4
    The new location will appear in the Location List.

Editing a Location

  1. 1
    Locate the location in the Location List.
  2. 2
    Click the Edit icon next to the location.
  3. 3
    Update the required details (Name, Description, Cover Image, Region, Tax Group, Timezone, Phone, Email, Website, Displayed Order, Published Status).
  4. 4
    Click Update to save changes.

Deleting a Location

  1. 1
    Locate the location in the Location List.
  2. 2
    Click the Delete icon next to the location.
  3. 3
    Confirm deletion in the popup modal.
⚠️ Deleting a location will remove all associated court schedules and availability settings.

Adding Working Hours and Peak Hours

  1. 1
    Click on the created Location in the Location List.
  2. 2
    Open the Working Hours modal.
  3. 3
    Use Add Open Hours to define standard operational hours.
  4. 4
    Use Add Peak Hours to define peak times for pricing or scheduling.
  5. 5
    All working and peak hours will display for that location in the module.
💡 Peak hours can affect pricing and booking availability across all courts in the location.

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. 1
    Log in to the EPIC Admin Dashboard.
  2. 2
    From the left-side menu, click on Courts to open the Court Management module.

Adding a Court

  1. 1
    Click the Add Court button located at the top-right corner.
  2. 2
    Fill in the following details:
FieldDescriptionRequired
Court NameEnter the name of the court.Required
LocationSelect the location from the dropdown list.Required
Active StatusToggle ON to activate the court.Required
Matchmaking EnabledToggle ON or OFF as needed.Optional
  1. 3
    Click Save Court to add the court.
  2. 4
    A success message will appear: Court saved successfully.

Editing a Court

  1. 1
    Locate the court in the Court List.
  2. 2
    Click the Edit icon next to the court.
  3. 3
    Update the required details (Name, Location, Active Status, Matchmaking Enabled).
  4. 4
    Click Update to save changes.

Deleting a Court

  1. 1
    Locate the court in the Court List.
  2. 2
    Click the Delete icon next to the court.
  3. 3
    Confirm deletion in the popup modal.
⚠️ Deleting a court is permanent and cannot be undone. Ensure no active bookings exist for this court before deleting.

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.

ℹ️ Where Reservation Types Are Used Reservation types are required when creating court bookings. The type selected determines the booking category, applicable pricing, and player capacity enforced during checkout.

Accessing Reservation Types

1
Log in to the EPIC Admin Dashboard

Use your admin credentials at the login screen.

2
Open Settings → Court Settings → Reservation Types

Click Settings in the left-side menu, expand Court Settings, then click Reservation Types.

/settings/court-settings/reservation-types

List View

All configured reservation types are displayed in a list with the following columns:

ColumnDescription
NameThe reservation type label shown during booking, e.g. Open Play, Lesson.
Min PlayersMinimum number of participants required for this booking type.
Max PlayersMaximum number of participants allowed.
Created AtDate and time the reservation type was added.
EditModify the reservation type details.
DeletePermanently remove the reservation type.
➕ Add a Reservation Type 3 steps
1
Click Add Reservation Type

Located in the top-right corner of the Reservation Types list.

2
Fill in the reservation type details
FieldRequiredDescription
NameRequiredDisplay label for the booking type. e.g. Open Play, Clinic, Match
Minimum PlayersRequiredMinimum participants needed for the booking to be valid.
Maximum PlayersRequiredMaximum participants allowed per booking of this type.
DescriptionOptionalInternal notes about when this reservation type should be used.
3
Click Save

The reservation type is immediately available when creating court bookings.

✅ Created The new reservation type now appears in the booking form dropdown when creating or editing a court booking.
✏️ Edit a Reservation Type 4 steps
1
Locate the reservation type in the list
2
Click the Edit icon

The edit form opens pre-populated with current values.

3
Update the required fields
4
Click Save
✅ Updated Changes apply immediately to all future bookings using this reservation type.
🗑️ Delete a Reservation Type 3 steps
1
Locate the reservation type in the list
2
Click the Delete icon

A confirmation modal will appear.

3
Confirm the deletion
⚠️ Permanent Action Deleting a reservation type removes it from the booking form. Existing bookings that used this type retain their data, but the type cannot be re-selected.

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.

ℹ️ Location-Based Scheduling Court schedules are configured at the location level. All courts within a location inherit the working and peak hours defined here.

Accessing Court Schedules

1
Log in to the EPIC Admin Dashboard

Use your admin credentials at the login screen.

2
Click on Court Schedules from the left-side menu

Navigate to Settings → Court Settings → Court Schedules.

/settings/court-settings/court-schedules
3
Select a location

You 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.

🕐 Configure Working Hours 6 steps
1
Select the desired Location from the list

All locations configured under Settings → Locations will appear here.

2
Open the Working Hours modal

Click the schedule or hours icon next to the location to open the configuration modal.

3
Add Opening Hours

Define the standard operating times for the location — the days and time ranges during which courts are available for booking.

FieldDescription
DaySelect the day(s) of the week the hours apply to.
Open TimeThe time courts open for bookings at this location.
Close TimeThe time courts close. No bookings can be made after this time.
4
Add Peak Hours

Specify peak periods within the opening hours. Peak hours can affect pricing or availability rules configured elsewhere.

FieldDescription
DaySelect the day(s) the peak period applies to.
Peak StartStart time of the peak period.
Peak EndEnd time of the peak period.
5
Save the hours

Click Save to apply the configured opening and peak hours to the location.

6
Confirm the schedule is applied

The working and peak hours will now be reflected for all courts in that location.

✅ Saved Opening and peak hours are immediately active. The Scheduler will reflect the updated availability for all courts at this location.
⚠️ Hours Apply Location-Wide Opening and peak hours are set per location, not per individual court. If a specific court has different availability, use the Court Settings module to configure court-level overrides.

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. 1
    Log in to the EPIC Admin Dashboard as a super admin.
  2. 2
    Navigate to Settings → Court & Location Settings → Court Admins Users.

Assigning Court Admin Role

  1. 1
    Click the Assign Court Admin button.
  2. 2
    Fill in the following details:
FieldDescriptionRequired
UserSelect an existing user from the system.Required
CourtChoose the specific court(s) they will administer.Required
Admin LevelSelect permission level (Full Admin, Booking Only, View Only).Required
Start DateWhen the admin role becomes active.Optional
End DateWhen the admin role expires (leave blank for permanent).Optional
  1. 3
    Click Assign Role to grant admin access.
  2. 4
    The user will appear in the Court Admins List.
Role Assigned The user will receive an email notification about their new court admin privileges.

Managing Admin Permissions

  1. 1
    Find the court admin in the Court Admins List.
  2. 2
    Click the Edit Permissions icon.
  3. 3
    Modify the following settings:
PermissionDescription
Manage BookingsApprove, cancel, or modify court reservations
View ReportsAccess court-specific analytics and reports
Update Court InfoModify court details, schedules, and settings
Manage PricingAdjust court rates and special pricing
Handle RefundsProcess refund requests for their courts
  1. 4
    Click Save Changes to update permissions.

Removing Court Admin Access

  1. 1
    Locate the court admin in the Court Admins List.
  2. 2
    Click the Remove Access icon.
  3. 3
    Confirm removal in the popup dialog.
⚠️ Access Revoked The user will lose all court admin privileges immediately. They will receive a notification email.

Viewing Court Admin Activity

  1. 1
    Click on a court admin's name in the list.
  2. 2
    View the Activity Log tab to see recent actions.
  3. 3
    Use filters to view actions by date, court, or action type.
ℹ️ Audit Trail All court admin actions are logged for security and compliance purposes.

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. 1
    Log in to the EPIC Admin Dashboard as an admin.
  2. 2
    Navigate to Settings → Court & Location Settings → Receptionist.

Assigning Receptionist Role

  1. 1
    Click the Add Receptionist button.
  2. 2
    Fill in the following details:
FieldDescriptionRequired
UserSelect an existing user or create a new receptionist account.Required
LocationAssign to specific location(s) they will work at.Required
Shift ScheduleDefine working hours and days.Required
Access LevelSelect permissions (Full Receptionist, Check-in Only, Payment Only).Required
Employee IDOptional internal identifier.Optional
  1. 3
    Click Assign Role to create the receptionist account.
  2. 4
    The receptionist will appear in the Receptionist List.
Role Assigned The user will receive login credentials and training materials via email.

Managing Receptionist Permissions

  1. 1
    Find the receptionist in the Receptionist List.
  2. 2
    Click the Edit Permissions icon.
  3. 3
    Configure the following capabilities:
PermissionDescription
Check-in MembersProcess member arrivals and validate bookings
Process PaymentsHandle cash/card payments and refunds
Manage Walk-insCreate bookings for walk-in customers
Customer SupportAnswer questions and resolve basic issues
Equipment CheckoutManage pro shop equipment rentals
View ReportsAccess daily sales and occupancy reports
  1. 4
    Click Save Changes to update permissions.

Managing Receptionist Shifts

  1. 1
    Select a receptionist from the list.
  2. 2
    Click the Schedule Shifts tab.
  3. 3
    Set working hours using the calendar interface.
  4. 4
    Assign backup receptionists for coverage.
ℹ️ Shift Coverage Ensure 24/7 receptionist coverage during operating hours.

Removing Receptionist Access

  1. 1
    Locate the receptionist in the Receptionist List.
  2. 2
    Click the Deactivate button.
  3. 3
    Confirm deactivation and select an effective date.
⚠️ Access Revoked The receptionist will lose login access on the specified date.

Tracking Receptionist Performance

  1. 1
    Click on a receptionist's name in the list.
  2. 2
    View the Performance Dashboard.
  3. 3
    Review metrics like check-in speed, customer satisfaction, and sales performance.
💡 Performance Insights Use this data to identify training needs and recognize top performers.
↑ Back to top

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

1
Log in to the EPIC Admin Dashboard

Use your admin credentials at the login screen.

2
From the left-side menu, click on Sports

This opens the Sports Management page.

/settings/sports-management/sports
➕ Adding a New Sport
1
Click the Add Sport button
2
Fill in the following details
FieldDescriptionRequired
NameEnter the name of the sport.Required
DescriptionAdd a brief description.Optional
Sport PictureUpload an image representing the sport.Optional
Active StatusToggle to make the sport active or inactive.Required
Coming Soon BadgeEnable if the sport is not yet available.Optional
3
Click Create to add the sport.
✏️ Editing a Sport
1
Locate the sport in the Sports Management list.
2
Click the Edit icon next to the sport.
3
Update the required details (Name, Description, Picture, Status, Coming Soon Badge).
4
Click Update to save changes.
🗑️ Deleting a Sport
1
Locate the sport in the Sports Management list.
2
Click the Delete icon next to the sport.
3
Confirm the deletion in the popup modal.
⚠️ Deleting a sport is permanent. Ensure no active lesson types or focus areas are linked to this sport before deleting.

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.

ℹ️ Where Lesson Types Are Used Lesson types are referenced when creating instructor bookings. The duration and player limit settings defined here directly control what options are available during booking.

Accessing Lesson Types

1
Log in to the EPIC Admin Dashboard
2
Open Settings → Sports Management → Lesson Types/settings/sports-management/lesson-types

List View

The Lesson Types list displays all configured entries. Each row shows the lesson name alongside Edit and Delete action icons.

➕ Add a Lesson Type 3 steps
1
Click the Add Lesson Type button

Located in the top-right corner of the Lesson Types list view.

2
Fill in the lesson type details
FieldRequiredDescription
NameRequiredDisplay name, e.g. Private Lesson, Group Clinic
Minimum Duration (mins)RequiredThe shortest allowed duration in minutes.
Maximum Duration (mins)RequiredThe longest allowed duration in minutes.
Default Duration (mins)RequiredStandard duration pre-selected when creating a booking. Must be between min and max.
Minimum PlayersRequiredMinimum participants required for the lesson to proceed.
Maximum PlayersRequiredMaximum participants allowed in a single session.
Cancel Before Start (mins)RequiredMinutes before start time that cancellation is permitted.
Advance Booking Time (mins)RequiredMinimum minutes in advance a booking must be made.
Cover ImageOptionalUpload an image representing the lesson type. JPEG or PNG, max 5 MB.
3
Click Save Lesson Type

The new lesson type is immediately available when configuring instructor bookings.

✅ Created The lesson type now appears in the list and is selectable when creating instructor bookings.
✏️ Edit a Lesson Type 4 steps
1
Locate the lesson type in the list
2
Click the Edit icon

The edit form opens pre-populated with current values.

3
Update the required details

Any field — name, durations, player limits, cancellation window, or cover image — can be changed.

4
Click Update to save changes
✅ Updated Changes take effect immediately for all future bookings using this lesson type.
🗑️ Delete a Lesson Type 3 steps
1
Locate the lesson type in the list
2
Click the Delete icon

A confirmation modal will appear.

3
Confirm deletion in the popup modal
⚠️ Permanent Action Once deleted, this lesson type will no longer be available when creating instructor bookings. Re-add it manually if needed.

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.

ℹ️ Where Focus Areas Are Used Once created, focus areas are available as selectable options when configuring instructor bookings and lesson types across the dashboard.

Accessing Focus Areas

1
Log in to the EPIC Admin Dashboard
2
Open Settings → Sports Management → Focus Area/settings/sports-management/focus-areas
3
Click on Focus Area

The Focus Area list view opens, displaying all currently configured focus areas.

List View

ColumnDescription
NameThe label of the focus area, e.g. Serve Technique.
Created AtDate and time the focus area was added.
Updated AtDate and time of the most recent change.
EditModify the focus area name.
DeletePermanently remove the focus area.
➕ Add a Focus Area 3 steps
1
Click the Add Focus Area button

Located in the top-right corner of the Focus Area list view.

2
Enter the Name of the focus area
FieldRequiredNotes
NameRequiredShort and descriptive. e.g. Serve Technique, Footwork, Match Strategy
3
Click Save

The newly created focus area will appear immediately in the Focus Area list.

✅ Created The focus area is now available as a selectable option when configuring instructor bookings and lesson types.
✏️ Edit a Focus Area 4 steps
1
Go to Settings → Sports Management → Focus Area
2
Find the focus area to update
3
Click Edit and update the name
4
Click Save
✅ Updated The change reflects immediately wherever the focus area is referenced.
🗑️ Delete a Focus Area 4 steps
1
Go to Settings → Sports Management → Focus Area
2
Find the focus area to remove
3
Click Delete
4
Confirm the deletion
⚠️ Permanent Action Once deleted, this focus area will no longer appear as an option in instructor bookings or lesson types. Re-add it manually if needed.
↑ Back to top

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.

Total Versions
Active
Inactive

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.

🔍 Type a version number or keyword in the search field to instantly filter the list of T&C versions.

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.

➕ Add New Version
1
Click the Add New Version button

Located in the top-right corner of the Terms & Conditions page.

2
Fill in the form fields
FieldDescriptionRequired
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
3
Click Save

The new version is created and immediately appears in the Terms & Conditions list. The counters at the top update to reflect the new totals.

✅ Created The version is now listed under Terms & Conditions. If set to Active, it will be shown to users during registration and booking.

List View

All T&C versions are displayed in a table with the following columns:

ColumnDescription
Version NumberThe unique version identifier, e.g. v1.0.
Content PreviewA truncated preview of the T&C text.
Active StatusIndicates whether this version is currently active (Active) or inactive (Inactive).
Created AtDate and time the version was created.
EditModify the version number, content, or active status.
DeletePermanently remove the version.
✏️ Edit a Version
1
Locate the version in the list.
2
Click the Edit icon next to the version.
3
Update the required fields (Version Number, Content, Active Status).
4
Click Save to apply changes.
✅ Updated Changes take effect immediately. If the Active Status was changed, the counters update accordingly.
🗑️ Delete a Version
1
Locate the version in the list.
2
Click the Delete icon next to the version.
3
Confirm deletion in the popup modal.
⚠️ Permanent Action Deleting a version is irreversible. If the deleted version was active, ensure another version is activated to avoid users seeing no T&C during registration or booking.
↑ Back to top

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

1
Log in to the EPIC Admin Dashboard
2
Open Settings → Instructor Management → Instructors/settings/instructor-management/instructors
➕ Add an Instructor
1
Click the Add Instructor button
2
Fill in the instructor details
FieldDescriptionRequired
First NameInstructor's first name.Required
Last NameInstructor's last name.Required
EmailContact email address.Required
PhoneContact phone number.Optional
SportsSports the instructor is qualified to teach.Required
SpecializationSpecific focus areas or coaching expertise.Optional
Profile ImageUpload a photo for the instructor profile.Optional
Active StatusToggle ON to make the instructor bookable.Required
3
Click Save to create the instructor profile.
✅ Created The instructor is now available for selection when creating instructor bookings.
✏️ Edit an Instructor
1
Locate the instructor in the Instructors list.
2
Click the Edit icon next to the instructor.
3
Update the required details and click Save.
🗑️ Delete an Instructor
1
Locate the instructor in the Instructors list.
2
Click the Delete icon next to the instructor.
3
Confirm deletion in the popup modal.
⚠️ Deleting an instructor is permanent. Existing bookings referencing this instructor will retain their data, but the instructor cannot be re-selected for new bookings.

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

1
Log in to the EPIC Admin Dashboard
2
Open Settings → Instructor Management → Instructor Availability/settings/instructor-management/instructor-availability
➕ Set Weekly Availability
1
Select the instructor from the list.
2
Configure availability slots
FieldDescriptionRequired
Day of WeekSelect the day(s) the instructor is available.Required
Start TimeThe time the instructor becomes available.Required
End TimeThe time the instructor's availability ends.Required
LocationThe location where the instructor is available.Optional
3
Click Save to apply the availability schedule.
✅ Saved The instructor's available slots will now appear when creating instructor bookings.
✏️ Edit Availability
1
Select the instructor and locate the availability slot to update.
2
Click the Edit icon next to the slot.
3
Update the day, time, or location and click Save.
🗑️ Remove Availability Slot
1
Select the instructor and locate the slot to remove.
2
Click the Delete icon next to the slot.
3
Confirm deletion in the popup modal.
⚠️ Removing an availability slot will prevent new bookings from being made in that time window for this instructor.

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

1
Log in to the EPIC Admin Dashboard
2
Open Settings → Instructor Management → Instructor Rates/settings/instructor-management/instructor-rates
➕ Add a Rate
1
Click the Add Rate button.
2
Fill in the rate details
FieldDescriptionRequired
InstructorSelect the instructor this rate applies to.Required
Lesson TypeSelect the lesson type (e.g. Private, Group).Required
Rate (per hour)The price charged per hour for this instructor and lesson type combination.Required
CurrencyCurrency for the rate. Defaults to the club's configured currency.Optional
3
Click Save to apply the rate.
✅ Saved The rate is now used to calculate booking costs when this instructor and lesson type are selected.
✏️ Edit a Rate
1
Locate the rate in the Instructor Rates list.
2
Click the Edit icon next to the rate.
3
Update the rate value and click Save.
✅ Updated The new rate applies to all future bookings using this instructor and lesson type.
🗑️ Delete a Rate
1
Locate the rate in the Instructor Rates list.
2
Click the Delete icon next to the rate.
3
Confirm deletion in the popup modal.
⚠️ Deleting a rate means no price will be calculated for this instructor/lesson type combination until a new rate is added.
↑ Back to top

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.

ℹ️ Content coming soon. This section will cover adding, editing, and deactivating dashboard users.
ℹ️ Content coming soon. This section will cover defining role-based access levels (Admin, Staff, Viewer) and configuring permissions.
↑ Back to top

Redpadel

The Redpadel module integrates EPIC with the Red Padel platform. Use the sub-tabs below to manage settings and player data.

ℹ️ Content coming soon. This section will cover Red Padel integration settings and configuration options.
ℹ️ Content coming soon. This section will cover managing Red Padel player profiles and synchronisation.
↑ Back to top

Global Field Reference

This table summarizes all commonly used input fields across the dashboard, their types, and expected values.

Field NameAppears InTypeExpected Input
Customer / MemberBookings, PackagesSearch inputName, email, or phone. Min 2 characters to trigger search.
EmailCreate CustomerTextValid email format (user@domain.com).
PhoneCreate CustomerNumericDigits only. Format depends on country code selected first.
PasswordCreate CustomerPasswordIf set, must be confirmed with matching Confirm Password field.
DateBookings, ProgramsDate pickerCannot be in the past for new bookings. ISO format internally.
Start Time / End TimeInstructor Bookings, ClassesTime pickerHH:MM 24-hour format. End must be after Start.
DurationCourt BookingsDropdownOptions populated from court pricing configuration.
Price / AmountPrograms, Packages, Pro ShopNumeric decimalPositive number. Format: 0.00. Cannot be negative.
CourtBookings, ClassesDropdownCourts listed for the selected location.
LocationMultipleDropdownConfigured locations from Settings → Locations.
SportCourts, ProgramsDropdown / multi-selectActive sports from Settings → Sports Management.
CategoryPrograms, Pro ShopDropdownMust be created first in Settings before appearing here.
TagsPrograms, ContentMulti-selectSelect from existing tags or type to create new ones.
Max Players / CapacityCourts, Programs, Reservation TypesIntegerWhole number ≥ 1.
ImagePrograms, Courts, ProductsFile uploadJPEG or PNG. Recommended max size: 5MB.
DescriptionPrograms, Products, PackagesTextareaFree text. No strict length limit but recommended < 500 chars.
Payment MethodBookings, PurchasesDropdownSaved card, new card, terminal, cash, pay later.
Revenue CategoryBookingsDropdownFrom Settings → Revenue Categories.
Tax GroupProducts, PlansDropdownFrom Settings → Tax Groups.
↑ Back to top

Validation Rules

The dashboard enforces the following validation rules. Errors appear as toast notifications (top-right corner) or inline field messages.

RuleApplies ToError Message
First Name RequiredCreate Customer"First name is required"
Program Name RequiredCreate Program"Program name is required"
Start Date RequiredCreate Program"Start date is required"
End Date RequiredCreate Program"End date is required"
End Date After StartPrograms, Classes"End date must be after start date"
Customer RequiredCreate Court Booking"Missing required booking information"
Reservation Type RequiredCreate Court Booking"Please fill in all required fields"
Court RequiredCreate Court Booking"Please fill in all required fields"
Time Slot RequiredCreate Court BookingTime slot field highlighted; cannot proceed without selection
Sub-Court Required (conditional)Create Booking when parent court has sub-courtsForm disables time slot loading until sub-court is selected
Password MatchCreate Customer"Passwords do not match"
Country Before PhoneCreate CustomerPhone field disabled and shows "Select country first"
Category Name RequiredCreate Program Category"Category name is required"
Session Name RequiredCreate Program Session"Session name is required"
Amount Non-negativePayments, PackagesField validation prevents negative values
Booking ConflictCreate BookingTime slot shown as unavailable; API returns validation error with conflict details
ℹ️ Toast Notifications All success and error feedback is shown via toast pop-ups in the top-right corner of the screen. Red = error, Green = success. They auto-dismiss after a few seconds.
↑ Back to top

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.

FeatureDepends On (must configure first)Where to Configure
Create Court BookingLocation, Courts, Reservation Types, Pricing/DurationsSettings → Court Settings
Instructor BookingInstructors, Lesson Types, Instructor Availability, CourtsSettings → Instructor Management + Sports Management
Create ProgramProgram Categories, Program Sessions, Courts, LocationSettings → Program Management + Court Settings
MatchmakingMatch Formats, Sports, CourtsSettings → Matchmaking + Sports Management
Punch PackagesPayment Methods, applicable Courts/Sports (optional)Settings → Payment Settings
Membership PlansSubscription Plans created in SettingsSettings → Payment Settings → Subscription Plans
Tax CalculationTax Groups assigned to courts/productsSettings → Payment Settings → Tax Groups
Notification DeliveryEmail/SMS/Push templates + provider credentialsSettings → Notification Settings + Integration
Payment ProcessingStripe publishable key configured in environmentServer/env configuration (admin task)
Prospect LabelsLabels must be created in Prospects or Settings → CRMProspects view → + Create Label
Content ManagementContent Tags must exist before tagging content itemsContent → Tags
Geographic SettingsCountries and States/Provinces needed for address formsSettings → Geographic Settings
⚠️ Setup Order Recommendation For a new club setup, configure in this order: (1) Locations → (2) Sports → (3) Courts → (4) Reservation Types → (5) Payment Methods → (6) Instructors → (7) Programs. This ensures all dropdowns are populated when you create your first bookings.

What Changes When You Update Settings

Setting ChangedImpact on Dashboard
Add / Edit CourtCourt immediately appears in Scheduler, Create Booking dropdown, and Reports.
Update Booking PricesNew prices apply to all future bookings. Existing bookings retain their original price.
Add New SportAvailable in Court configuration, Program creation, and Matchmaking sport filters.
Edit Notification TemplateAll subsequent notifications of that type use the new template immediately.
Deactivate a MemberMember cannot log into the app but existing bookings remain visible in the dashboard.
Update Subscription Plan PriceAffects new subscriptions only. Existing members retain their current price until renewal.
Add InstructorInstructor becomes selectable in Instructor Booking creation and Program class assignment.
Change Tax GroupNew tax rate applied to future transactions. Does not retroactively modify past invoices.
↑ Back to top

Epic Sports Dashboard User Manual · v2.0 · February 2026

For technical support, contact your system administrator.