Admin Portal User Manual

PhitFreaks  ยท  For Coach Shauna  ยท  Updated October 2026
Contents
1. Logging In & Out 2. Dashboard Overview 3. Birthday & Anniversary Alerts 4. Schedule Tab โ€” Managing Classes & Announcements 5. Clients Tab โ€” Approvals & Client Management 6. Roster Tab โ€” Who's In Each Class 7. Moving a Client Between Classes 8. Forms Tab โ€” Documents & Waivers 9. Sessions Tab โ€” Managing Session Balances 10. Session History โ€” Tracking & Resolving Session Questions 11. Revenue Tab โ€” Business Dashboard 12. Automatic Post-Class Reminder Emails 13. Confirming Attendance & Deducting Sessions 14. Client Profiles โ€” Full Deep Dive 15. Logging Session Notes 16. Posting Announcements 17. Your Daily Routine 18. Your Weekly Routine 19. Tips & Reminders

1. Logging In & Out

The admin portal is only accessible to you โ€” it's separate from the client portal and requires your specific admin credentials.

How to Log In

1
Go to your admin portal URL

Open your browser and navigate to your PhitFreaks admin page (admin.html on your website).

2
Enter your email and password

Use the email and password set up for your admin Firebase account.

3
Click Sign In

You'll be taken directly to the dashboard. If you see an error, double-check your email spelling and password.

How to Sign Out

Click the Sign Out button in the top-right corner of the dashboard. Always sign out when using a shared device.

โš ๏ธ If You Forget Your Password

Go to the Firebase console (console.firebase.google.com), navigate to Authentication, find your email, and use "Send password reset email." You cannot reset it from the admin portal itself.

2. Dashboard Overview

When you log in you'll see the main dashboard. At the top is your header bar with your name and sign out button. Below that is the tab navigation:

๐Ÿ“… Schedule
๐Ÿ‘ฅ Clients
๐Ÿ“‹ Roster
๐Ÿ“ Forms
๐Ÿ’ณ Sessions
๐Ÿ“Š Revenue
TabWhat It's For
๐Ÿ“… ScheduleAdd, manage, and publish classes for the week. Post announcements to clients.
๐Ÿ‘ฅ ClientsApprove or reject new registrations. View and manage all your clients.
๐Ÿ“‹ RosterSee exactly who is booked into any specific class, including the waitlist.
๐Ÿ“ FormsQuick links to the assessment form, mobile evaluation app, and liability waiver PDF.
๐Ÿ’ณ SessionsAdd or adjust session balances for clients. See who is running low. Open any client's full Session History (๐Ÿ“‹ History).
๐Ÿ“Š RevenueBusiness snapshot โ€” total revenue, sessions sold, expiring clients, class ratings.

3. Birthday & Anniversary Alerts

Just below the header, you may see a green alert bar that looks like this:

๐ŸŽ‰ Upcoming This Week
๐ŸŽ‚ Lisa M. โ€” Birthday Aug 24 ๐Ÿ† Tyler K. โ€” 1-Year Anniversary Aug 25

This bar appears automatically whenever a client has a birthday or training anniversary (the date they first joined) within the next 7 days. It only shows if there's something to show โ€” otherwise it's hidden.

What to Do With It

4. ๐Ÿ“… Schedule Tab

This is your home base for managing the weekly class schedule and communicating with clients.

Posting a Client Announcement

Announcements appear as a banner at the top of every client's portal. Use them for weather changes, location notes, schedule shifts, motivation โ€” anything you want all clients to see.

1
Type your message

Click the announcement text box at the top of the Schedule tab. Example: "Tomorrow's 6am class moves to the backyard โ€” bring your mat!"

2
Set expiry

Choose how long the announcement should stay visible โ€” 1 day, 3 days, or 7 days. It disappears automatically after that.

3
Click Post

The announcement goes live immediately in the client portal.

4
To delete early

Click the Delete button next to any active announcement in the list above the text box.


Adding a New Class

1
Fill in the Add New Class form

Select the Class Type from the dropdown (Small Group Training, HIIT, Strength & Conditioning, Competition Prep, Mobility & Recovery).

2
Add a custom title (optional)

Give the class a specific name clients will see โ€” e.g., "Morning Burn" or "Leg Day Finale." If you leave it blank, the class type is used.

3
Set the date and time

Pick the date from the calendar picker and the time from the time field.

4
Set the duration

Choose 30, 45, 60, 75, or 90 minutes from the Duration dropdown. This field is required โ€” the class won't save without it. Duration tells the system when the class ends, which controls when the Attendance button activates and when reminder emails go out.

5
Set max spots

Default is 6. Change this if you want a smaller or larger class for that session.

6
Add a note (optional)

This shows on the client's booking card โ€” e.g., "Bring a mat" or "Outdoors today."

7
Publish immediately checkbox

Leave it checked to make the class visible to clients right away. Uncheck it to save it as a draft and publish later.

8
Click Add Class

The class appears in the week view below.


Managing Classes in the Week View

Use the โ† Prev Week and Next Week โ†’ buttons to navigate between weeks. Each class row shows the class name, time, booking count, and action buttons.

ButtonWhat It Does
โœ“ Active / ActivateToggles whether the class is visible to clients. Green = visible. Grey = hidden draft. If clients are booked when you deactivate a class, each of them gets a "Class cancelled" line in their Session History (and "Class reinstated" if you turn it back on).
โœ“ AttendanceAppears the moment a class's end time passes โ€” available same-day, as soon as the class is over. Opens the attendance confirmation screen.
โœ๏ธ EditOpens an edit panel where you can change the class type, title, date, time, duration, max spots, or notes. Existing bookings are preserved. If you change the date or time of a class with bookings, every booked client is emailed the new time automatically, and it's recorded in their Session History as "Class rescheduled."
DeletePermanently removes the class. Cannot be undone. If clients are booked, the confirmation lists their names first. When you confirm, each booked client is emailed that the class is cancelled, and it's recorded in their Session History. No sessions are deducted.

Publish All This Week

The โœ“ Publish All This Week button activates every class in the current week at once โ€” useful if you build the week's schedule as drafts first, then release them all at the same time.

Copy Week โ†’ Next

The ๐Ÿ“‹ Copy Week โ†’ Next button duplicates every class from the current week into the following week. This is a huge time-saver for a consistent schedule. After copying, you can go to next week and edit any changes.

๐Ÿ’ก Pro Tip

Build your standard week once, then use Copy Week โ†’ Next every Friday to set up the following week. Takes 10 seconds instead of re-entering everything manually.

5. ๐Ÿ‘ฅ Clients Tab

This is where you manage everyone who has registered for the portal. Clients are divided into three sections.

โณ Pending Approval

Anyone who registers on the client portal shows up here first. They cannot book classes or see the schedule until you approve them. You'll see their name, email, and registration date.

1
Click Approve

The client moves to the Approved section and immediately gains access to the full portal โ€” they can book classes, see their progress, etc.

2
Click Reject

Moves them to the Rejected section. They'll see a "not approved" message when they try to log in.

โš ๏ธ Important

Always verify who a new registration is before approving. If you don't recognize the name or email, reach out to confirm before granting access.

โœ… Approved Clients

Your full active client list. Each client card shows their name, email, current session balance, and goal. You can:

โœ• Rejected

Shows anyone you've rejected. You can re-approve from here if needed (e.g., someone who registered with the wrong email and re-registered correctly).

6. ๐Ÿ“‹ Roster Tab

Use this to see exactly who is signed up for any specific class before it happens.

1
Select a class from the dropdown

All upcoming and past classes are listed. Pick the one you want to view.

2
View the roster

You'll see every client who is booked, along with buttons to Add, Move, or Remove them.

3
Check the waitlist

If the class is full, any clients on the waitlist appear below the roster in gold. When you remove someone from the roster, the first waitlist person is automatically emailed that a spot opened.

โœ• Removing (Cancelling) a Client's Booking

Use โœ• Remove when a client asks you to cancel, including late cancellations inside 24 hours that they can't do themselves.

1
Click โœ• Remove next to the client

A box pops up asking you to confirm, with room for an optional note.

2
Type a short note (recommended)

For example: "Client texted to cancel โ€” sick" or "Late cancel, 6 hrs notice." The client sees this note in their Session History. Leave it blank if you prefer. Click Cancel in the box to keep them booked.

3
Click OK

The client is removed and emailed that their booking was cancelled. The first waitlist person is notified, and a "Booking cancelled by Coach Shauna" line is added to the client's history. If you already confirmed their attendance for that class, the box warns you first, and removing them automatically returns the session to their balance.

๐Ÿ’ก Charging a Late Cancellation

Removing a client never deducts a session. If your policy is to charge a late cancel, remove them first, then go to Sessions โ†’ ๐Ÿ“‹ History โ†’ ยฑ Adjust balance, enter -1, and give the reason "Late cancellation charged." The client sees exactly why their balance went down. See Section 10.

โž• Adding a Client to a Class

Need to put someone in a class manually โ€” a makeup session, a last-minute add, or a client who called you directly? Use the โž• Add Client to This Class button at the bottom of any roster.

1
Select the class in the Roster tab

The roster loads with the spots summary and the full client list.

2
Click โž• Add Client to This Class

A dialog opens with a dropdown of all approved clients not already in this class. If the class is already full, you'll see a message instead.

3
Choose the client and click Add Client โ†’

The client is added to the class instantly and the roster refreshes. They'll receive a confirmation email letting them know they've been added, and it's recorded in their Session History as "Added to class by Coach Shauna."

โœ… Best Use

Check the roster the night before each class so you know exactly who's coming in. Use โž• Add Client for any last-minute additions rather than having clients rebook themselves.

7. ๐Ÿ”„ Moving a Client Between Classes

Sometimes a client needs to switch to a different class time โ€” and they shouldn't lose a session for it. The ๐Ÿ”„ Move button in the Roster tab lets you move any client instantly, without touching their session balance.

โœ… No Session Impact

Sessions are only deducted when you confirm attendance. A move just transfers the booking from one class to another โ€” the client's session balance stays exactly the same.

How to Move a Client

1
Go to the Roster tab

Select the class the client is currently booked into from the dropdown.

2
Find the client in the roster list

Each entry shows the client's name, email, and session balance.

3
Click ๐Ÿ”„ Move

A modal opens showing the client's name and a dropdown of all other available classes that still have open spots.

4
Choose the destination class

Only classes with available spots are shown. Full classes are automatically excluded.

5
Click Confirm Move

The client is removed from the original class and added to the new one in a single atomic update. The roster refreshes immediately.

Automatic Email Notifications

As soon as you confirm the move, two emails are sent automatically:

RecipientEmail Contains
ClientConfirmation that their class has been moved, showing the old class and the new class (date, time, type). Reassurance that no sessions were affected.
You (Shauna)A summary of the move โ€” client name, from class, to class. Useful for your records and for the pre-class roster check.

The move is also recorded permanently in the client's Session History ("Moved by Coach Shauna," with both classes). When a client moves themselves in their portal, that shows in the history too, as "Client moved class."

๐Ÿ’ก Tip

If a client contacts you asking to move to a full class, you can first remove another client (or a no-show) from that class to free up a spot, then use ๐Ÿ”„ Move to place them in.

8. ๐Ÿ“ Forms Tab

Quick access to all your official documents. Nothing to manage here โ€” it's a library of links.

FormWhat It IsHow to Use
Client Assessment Form The online fitness assessment on your website. Clients fill it out before starting. Click Open Form to preview it or send the link to a prospective client.
Movement & Cardio Evaluation Interactive 3-tab mobile app for in-person assessments during sessions. Open on your phone during a new client's first session. Walk through it together.
Liability Waiver The PhitFreaks liability waiver PDF. All clients should sign before their first class. Open the PDF or download it to print. Clients can also sign it digitally from the client portal.

9. ๐Ÿ’ณ Sessions Tab

This is how you manage session credits โ€” the currency of PhitFreaks. Every time a client books and attends a class, one session is deducted. You add sessions here when a client purchases a pack.

โš ๏ธ Critical โ€” Read This First

Clients cannot book a class if their session balance is 0. Any client shown in red has run out of sessions. They need to purchase more before they can book again.

Session Package Pricing

PhitFreaks has four fixed packages with set prices. All packages expire a set number of days after the client's first attended class โ€” the clock doesn't start on the purchase date, it starts when you confirm their first attendance. There's also a Custom option for special arrangements.

PackageSessionsPriceExpires After
8-Session Pack8$14945 days from first class
12-Session Pack12$20960 days from first class
16-Session Pack16$26975 days from first class
24-Session Pack24$35990 days from first class
CustomYou set itYou set itYou set the days
โณ How Expiry Works

Each pack has its own clock. It starts on the date of the class where one of its sessions is first used (the class date, not the day you click Confirm) and runs for that pack's days. The oldest sessions are always used first, so a new pack's clock doesn't start until older sessions are used up. A new pack never extends older sessions; leftovers expire on their own pack's date. The Sessions tab, their profile and the client's portal show the next expiry, e.g. "9 sessions expire in 22d (Nov 9)". Their ๐Ÿ“‹ History shows every pack.

Linked (shared-pool) members show the primary account's expiry, since the sessions live there.

โš ๏ธ New Purchase = + Add Sessions, Never Edit

Always record a new pack with + Add Sessions. If you use Edit on an old purchase to add sessions, the expiry clock doesn't restart and the client gets shorted. Edit is only for fixing a mistake on that purchase.

Adding Sessions to a Client

1
Find the client in the list

The Sessions tab shows all approved clients with their current balance. Clients with 0 sessions are highlighted in red at the top.

2
Click the + Add Sessions button
3
Select the package from the dropdown

The sessions count and price auto-fill for fixed packages. For Custom, enter sessions, price, and expiry days manually.

4
Choose the payment method

Card, Cash, Venmo, Zelle, PayPal, or Other. This logs how the client paid.

5
Click Add Sessions

The client's balance updates instantly and a purchase record is saved. The expiry clock will start on their next attended class.

Viewing a Client's History

Each client row in the Sessions tab has a ๐Ÿ“‹ History button. Click it to open that client's complete Session History: every purchase, attended session, booking, cancellation, move, no-show and adjustment, with a running balance and a check that it all adds up. Purchases still have their Edit and Delete buttons right on the line. Full details in Section 10.

Editing or Deleting a Transaction

If a mistake was made โ€” wrong session count, wrong amount โ€” you can fix it directly in the purchase history.

1
Click ๐Ÿ“‹ History next to the client's row and find the ๐Ÿ’ณ purchase line you need to fix.
2
To edit: click Edit on the row. A form opens so you can change the session count, amount paid, expiry days, or notes. The client's balance updates by the difference automatically. If you change the count to a standard pack size (8/12/16/24), the expiry days update to that pack's standard (45/60/75/90). If this is the client's latest purchase, their expiry date is recalculated and the change is recorded in their history.
3
To delete: click Delete. The transaction is removed and the session count is adjusted. This also removes it from the Revenue totals.
โš ๏ธ Deletions are permanent

There's no undo. You'll be asked to confirm before any delete goes through. When in doubt, use Edit instead to correct the values.

Edits and deletes that change the session count also leave a "Purchase corrected" or "Purchase deleted" note in the client's history, so a change to their balance is never unexplained.

๐Ÿ’ก When to Add Sessions

Add sessions as soon as a client pays โ€” whether by Venmo, cash, or check. Don't wait. Clients will try to book and wonder why they're blocked if their balance isn't updated.

๐Ÿ”— Shared Session Pools (Couples & Families)

Clients can share a single session balance โ€” for example, a husband and wife who purchase one pack together. One person is the primary (their account holds the sessions) and the other is the secondary (they draw from the primary's pool automatically).

How Shared Sessions Work

Once linked, all session deductions for the secondary client come from the primary's balance โ€” whether the secondary books and attends a class, or you confirm their attendance. You never have to think about it; the system handles it automatically. Both clients can book and attend separately or together.

Setting Up a Shared Pool

1
Open the secondary client's profile

In the Clients tab, click ๐Ÿ‘ค Profile for the client who will draw from the other person's sessions.

2
Scroll to "Shared Sessions" at the bottom

You'll see a dropdown listing all eligible clients.

3
Select the primary account from the dropdown

This is the person whose balance the sessions will come from โ€” usually whoever paid.

4
Click ๐Ÿ”— Link

The accounts are now linked. The secondary's Sessions tab row will show a Shares pool badge and their Add Sessions button is disabled โ€” always add to the primary instead. Any sessions the secondary already had are moved into the primary's pool, and that transfer is recorded in both clients' Session History.

Reading the Sessions Tab When Accounts Are Linked

BadgeWhat It Means
Primary (blue)This account holds the shared session pool. Add sessions here.
Shares pool (blue)This client draws from another account's balance. Their Add Sessions button is disabled โ€” go to the primary.

Unlinking Accounts

Open the secondary client's profile, scroll to Shared Sessions, and click โœ• Unlink. After unlinking, each client needs their own session balance again.

๐Ÿ’ก Which Account Is the Primary?

It doesn't matter who paid โ€” pick whoever is more convenient to track. Typically it's the person who tends to buy sessions, since that's the account you'll always add to.

10. ๐Ÿงพ Session History โ€” Tracking & Resolving Session Questions

Every client now has a permanent, time-stamped record of everything that touches their bookings or their session balance, whether they did it or you did. They see it in the ๐Ÿงพ Session History tab of their portal, and you see the same record. When a client asks "how many sessions do I have?" or "why did my balance go down?", the answer is one click away and you're both looking at the same thing.

Where to Find It

What Gets Recorded Automatically

EventWhoChanges Balance?
Client books a class (incl. booking a linked family member)ClientNo
Client cancels (24+ hrs out), shows hours of noticeClientNo
Client moves to a different class (from โ†’ to)ClientNo
You add a client to a classYouNo
You remove/cancel a client's booking (with your note)YouNo
You move a clientYouNo
You change the date/time of a booked classYouNo
You deactivate or delete a booked classYouNo
Attendance confirmedYouโˆ’1
No-show: first one on a packYouNo (free)
No-show: after the free oneYouโˆ’1
Expired sessions removedYouโˆ’N
Session pack purchasedYou+N
Purchase edited or deletedYouShown on the purchase line
Manual adjustment (ยฑ Adjust balance)YouยฑN
Sessions transferred when linking accountsYouยฑN

You don't have to do anything extra. Just use the portal the way you always do and it's all captured.

โ–ฆ The Session Sheet

The history panel opens on the Session sheet: one row per session the client has bought, like a spreadsheet. It's built from the record by following every event in order:

The line under the summary confirms open sessions (booked + available) = balance. Tap any row for its full trail. Use โฌ‡ Download for an Excel/CSV copy, for example to send a client their record. Switch to โ˜ฐ Timeline for every change in order and for the Edit, Delete and โ†ฉ Return session buttons. The client sees the same sheet in their portal.

Reading the History Panel

The top bar shows the client's balance, total bought, attended, no-shows, cancels and moves. Below it, every event is listed newest first with:

Use the filter buttons to show All, Sessions in/out (just the balance changes), or Bookings, cancels, moves.

โœ“ The Balance Check

Every time you open a client's history, the system adds up every purchase, attendance and adjustment and compares it to the balance on their account:

โœ“ History adds up exactly to the current balance

Everything is accounted for. You can show the client their own Session History tab and the math speaks for itself.

โš–๏ธ Account shows 8 sessions, but the recorded history adds up to 5 โ€” a difference of +3

Part of the balance has no record behind it. This is expected for clients whose sessions were entered before purchase tracking existed. See "One-Time Setup" below.

One-Time Setup: Recording Opening Balances

Do this once for each client who shows the gold โš–๏ธ notice. It's usually long-time clients.

1
Sessions tab โ†’ ๐Ÿ“‹ History on the client

If you see the gold โš–๏ธ notice, read the difference.

2
Decide if their current balance is right

If you agree the client really has the number shown, continue. If the balance itself is wrong, skip to "Correcting a Balance" below instead.

3
Click "Record +3 as opening balance"

Keep the default note or type your own, and click OK.

4
Done โ€” it turns green

This does not change their balance. It adds a "Starting balance" line at the very bottom of their history, labeled "Before tracking began," so everything adds up from here on.

โณ Expiry by Pack (in the History Panel)

Each pack keeps its own expiry clock: it starts the first time one of its sessions is used, and the pack expires that many days later (8 = 45, 12 = 60, 16 = 75, 24 = 90). The oldest sessions are always used first, and buying a new pack never extends older sessions.

Near the top of every client's ๐Ÿ“‹ History, the โณ Expiry by pack box lists each pack that still has open sessions:

๐Ÿ“ฆ 12-Session Pack โ€” $209 ยท bought Sep 6 ยท 9 open ยท expires Nov 9, 2026 (22 days left) ยท first used Sep 10 + 60 days ยท free no-show: used
๐Ÿ“ฆ 8-Session Pack โ€” $149 ยท bought Jul 10 ยท 2 open ยท expired Aug 29 โ€” 2 still on balance Remove 2 expired

๐Ÿ” Find Session Errors

The ๐Ÿ” Find session errors button at the top of the Sessions tab checks every client's records at once for sessions that were taken by mistake:

FindingWhat it meansPre-checked?
Charged twice for the same classAttendance for that class was confirmed more than once. Before October 2026, reopening Attendance pre-checked everyone again and charged them a second time.Yes โ€” clear-cut
Charged, then removed from the classThe client was checked in, then removed or cancelled from that class, but the session was never returnedYes โ€” clear-cut
Charged but not on the rosterCharged as a booked client but no longer on that class's roster. Possibly removed after check-in before tracking began, so verify with the client.No โ€” verify
Balance lower than the recordThe account has fewer sessions than purchases minus attendance supports, with no record of whyNo โ€” verify

Tick what you want and click Fix selected. Each fix returns the session, crosses out the wrong charge, and adds a "Session returned" line the client sees in their history. For a double charge, only the second charge is reversed.

๐Ÿ’ก Run This First

If clients are saying they have more sessions than the portal shows, run this before anything else. It's the fastest way to find and return every wrongly-taken session. Then run โณ Check expiry dates.

โณ Check Expiry Dates

The โณ Check expiry dates button at the top of the Sessions tab checks every client's packs at once:

Tick what you want and click Apply selected. Each change is recorded in that client's Session History.

๐Ÿ’ก Run It Once Now, Then Monthly

Run it once now, right after ๐Ÿ” Find session errors, to apply the per-pack rule to everyone. After that, once a month removes expired sessions and keeps dates accurate.

โ†ฉ Returning a Session (Undoing an Attendance)

If someone was checked in by mistake, give the session back. Never use ยฑ Adjust for this.

Either way the balance goes up by 1, the original "Attended" line is crossed out as reversed, a "Session returned" line is added, and the history still adds up. If that class was the one that started their expiry clock, the expiry is recalculated from their next class.

ยฑ Correcting a Balance (Late Cancels, Comps, Fixes)

Any time you need to change a client's balance for a reason other than a purchase or attendance, use ยฑ Adjust balance at the top of their history. Don't edit an old purchase to fake it.

1
Click ยฑ Adjust balance

Enter the change: -1 to charge a late cancel, +1 to comp a session, or any whole number to fix an error. (No-shows are handled automatically at attendance, so don't use this for them.)

2
Enter the reason (required)

The client sees it exactly as you type it, so keep it clear and friendly. Examples: "Late cancellation charged (2 hrs notice)," "Complimentary session โ€” thanks for the referral!", "Correction โ€” duplicate entry."

3
Click OK

Their balance changes immediately and the line appears in both your view and theirs.

When a Client Questions Their Sessions

1
Open their ๐Ÿ“‹ History

Look for the green โœ“. If it's green, the record is complete.

2
Click "Sessions in/out"

This shows only purchases, attended sessions and adjustments: the exact math behind their number.

3
Point them to their own Session History tab

They see the same lines, dates and running balance you do. Most questions end here.

4
If something is genuinely wrong

For an attendance you checked by mistake, click โ†ฉ Return session on that line. For anything else, use ยฑ Adjust balance with a clear reason. Either way the correction is visible to both of you.

๐Ÿ”— Shared Pools

The primary account's history shows every session used by linked members ("Amy Lee attended (shared pool) โˆ’1"). A secondary account's history shows their own bookings and attendance, marked "from shared pool," without a running balance, because their sessions live on the primary.

๐Ÿ“… How Far Back It Goes

Purchases and attendance go back to the beginning. Booking, cancellation, move and no-show tracking started in October 2026, when this feature went live.

11. ๐Ÿ“Š Revenue Tab

Your business at a glance. This tab pulls data automatically โ€” nothing to enter here. Just click the tab and review.

Metric Cards

CardWhat It Shows
Active ClientsTotal number of approved clients in your portal.
This MonthRevenue from session purchases made in the current calendar month.
YTD RevenueRevenue from January 1st through today โ€” your year-to-date total.
All-Time RevenueSum of every session pack purchase ever logged.
Sessions SoldTotal number of individual sessions sold across all clients, all time.
Expiring SoonNumber of clients with 2 or fewer sessions remaining. Red = urgent.

Expiring Soon List

Below the metric cards is a list of every client with 2 or fewer sessions left. Clients at 0 show in red, clients at 1โ€“2 show in gold. Use this to proactively reach out before they run out and can't book.

Class Ratings โ€” Aggregated (Last 30 Days)

A table showing every class that has been rated in the last 30 days โ€” average star rating and number of reviews. Use this to see which class types are landing and which might need a refresh.

Individual Reviews & Comments

Below the aggregated table you'll see every individual review submitted โ€” client name, class, star rating, date, and their written comment (if they left one).

Approving Reviews for the Website

Any review with a written comment has an Approve for website button. When you click it, that review will appear in the Testimonials section of your public website (phitfreaks.com). Reviews without a comment can't be approved.

1
Read the review in the Individual Reviews section.
2
Click "Approve for website" โ€” the button turns green and the review goes live on your site immediately.
3
To un-approve, click the green "โœ… Approved for website" button again โ€” it immediately removes the review from your site.
๐Ÿ’ก Only you decide what's public

Clients can leave comments when they rate a class, but nothing goes public until you approve it here. Your website always shows only what you've approved.

12. ๐Ÿ“ง Automatic Post-Class Reminder Emails

The system automatically sends reminder emails after every class ends โ€” so you never have to worry about forgetting attendance, and clients always get a nudge to leave a rating.

How It Works

Each time you open the admin portal, the system checks for any classes that ended since the last time you logged in but haven't had reminders sent yet. It fires off the appropriate emails automatically โ€” no action needed from you.

Who Gets ItWhat They ReceiveTiming
You (Coach Shauna) Attendance reminder listing every client who was booked for the class. Prompts you to confirm attendance in the admin portal. Every time โ€” no time limit. If you don't log in for a week, you'll still get the reminder when you do.
Clients A motivating email from you asking them to rate the class and leave a comment. Only within 24 hours of class end. If more than 24 hours have passed, the client email is skipped (so no one gets a stale rating request days later).
โœ… No Duplicate Emails

Once reminders are sent for a class, the system marks it as done. Opening the portal multiple times won't trigger the same emails twice.

๐Ÿ’ก Nothing to Configure

This runs automatically every time you log in. No buttons to click, no settings to adjust. Just make sure you have the right class duration set when you create classes โ€” that's what tells the system when a class ends.


13. Confirming Attendance & Deducting Sessions

This is how sessions get deducted after a class happens. This is important โ€” sessions are NOT deducted when someone books, only when you confirm they actually showed up.

When to Do This

The โœ“ Attendance button becomes active the moment a class ends โ€” same day, right after the class finish time. Do it while it's fresh so you remember who was there. You can also circle back later; the button stays available for past classes.

1
Go to the Schedule tab

Find the class that just ended. Once the end time passes, it shows a green โœ“ Attendance button โ€” available same-day.

2
Click โœ“ Attendance

A modal opens showing everyone who was booked for that class.

3
Check each person who showed up

Put a checkmark next to every client who attended. Leave anyone who no-showed unchecked. Under each name you'll see what a no-show means for them: free (their pack's one free no-show) or 1 session used (free no-show already used).

4
Add walk-ins (if any)

In the Walk-In section at the bottom, select any client who came without booking, or type in a guest name. Click + Add for each walk-in.

5
Click โœ“ Confirm & Deduct Sessions

One session is deducted from every checked client's balance and an "Attended" line is added to their Session History. The confirmation box lists each no-show and whether it's free or uses a session. Each no-show client gets an email explaining which. Walk-ins with 0 sessions will be flagged. Any of it can be undone later with โ†ฉ Return session.

๐Ÿ›ก๏ธ No One Can Be Charged Twice

Once a class's attendance is confirmed, its button changes to โœ“ Attendance done. You can reopen it any time to add someone you missed. Everyone already recorded shows as โœ“ ALREADY RECORDED, locked and unchecked, and they're left out of the walk-in list, so they can't be charged a second time. Just add the missed person and confirm.

โš ๏ธ No-Shows โ€” 1 Free Per Pack

Just leave no-shows unchecked; the system applies your policy automatically:

14. Client Profiles โ€” Full Deep Dive

The client profile is the most powerful part of the admin portal. Access it by clicking View Profile on any client in the Clients tab.

What's at the Top of Every Profile

ElementWhat It Means
Red Health Alert BannerIf you've flagged a health concern for this client (e.g., bad knee, recent surgery), it appears here in red so you see it before every session.
PAR-Q BadgeShows whether the client has received medical clearance. Green = cleared, grey = not yet.
Current GoalThe goal you've set for this client โ€” visible to them in their portal too.
Contact InfoEmail, phone, date of birth. The birthday is used for the alert bar.

Editing Profile Information

Setting or Updating a Health Alert

1
Click โš ๏ธ Edit Alert in the profile

A prompt appears asking you to type the alert message.

2
Type the concern and click OK

Example: "Right shoulder injury โ€” avoid overhead pressing." This appears in red at the top of their profile every time you open it.

Setting a Client's Goal

1
Click โœ๏ธ Edit Goal in the profile

A prompt appears.

2
Type the goal and click OK

Example: "Lose 15 lbs by December, improve deadlift to 200 lbs." The client can see this goal in their own My Progress tab.

Marking Medical Clearance Received

Click the PAR-Q badge or the Medical Clearance toggle in the profile to mark it as received. This updates the badge from grey to green.

Assessment History

Below the client info you'll see any assessment records โ€” Initial Assessment, 60-Day Check-In, 6-Month Progress, and 1-Year Anniversary. To add a new assessment:

1
Click โž• Assessment in the profile footer

The New Assessment modal opens.

2
Select the checkpoint type and date

Initial Assessment, 60-Day, 6-Month, or 1-Year.

3
Fill in the measurements

Weight, body fat %, resting heart rate, and any other metrics you track.

4
Click Save

The data is saved and appears in the client's My Progress tab in the portal.

Session History in the Profile

Near the bottom of every profile is the client's full Session History: the same panel you get from ๐Ÿ“‹ History in the Sessions tab, with the balance check, ยฑ Adjust balance, and every booking, cancel, move, attendance and purchase. See Section 10.

Session Notes in the Profile

The bottom of the profile shows the last 10 session notes you've written for this client โ€” date, session type, exercises, coaching observations, and effort level (RPE). Clients can also see these notes in their own portal under My Progress.

Profile Footer Buttons

ButtonWhat It Opens
๐Ÿ“ Session NoteLog a new session note for this client (see Section 15)
๐Ÿ“ MeasurementsEnter circumference measurements (waist, hips, chest, arms, thighs)
โž• AssessmentAdd a new assessment checkpoint record
CloseClose the profile modal

15. Logging Session Notes

Session notes are your coach's log for each client. They're visible to the client in their portal and build a complete training history over time. Get in the habit of logging one after every session.

1
Open the client's profile

Go to the Clients tab โ†’ click View Profile on the client you just trained.

2
Click ๐Ÿ“ Session Note in the profile footer

The Session Note modal opens, pre-filled with today's date.

3
Select the session type

Small Group Training, HIIT, Strength & Conditioning, Competition Prep, Mobility & Recovery, or 1-on-1.

4
Fill in "What Was Worked"

List the exercises, sets, reps, and weights. Example: "Back squat 5ร—5 @ 135 lbs, Romanian deadlift 3ร—10, box jumps 3ร—8."

5
Add Coach Notes

Write your observations โ€” what improved, what needs work, form cues to remember, modifications used, what to focus on next session.

6
Set RPE (1โ€“10)

Rate how hard the client worked. 7 = moderately hard, 9 = near max effort. This helps track load over time.

7
Click Save Note

The note is saved and immediately visible to the client in their My Progress tab.

โœ… Why This Matters

Clients who can see their progress logged in detail stay motivated and feel valued. A quick 2-minute note after class is one of the highest-ROI things you can do for retention.

16. Posting Announcements

Announcements appear as a green banner at the top of every client's portal the next time they log in. Use them any time you need to communicate something to all clients at once.

Good Uses for Announcements

How to Post

1
Go to the Schedule tab

The announcement section is at the very top, above the Add Class form.

2
Type your message in the text box
3
Choose expiry: 1, 3, or 7 days

The announcement disappears automatically after this time. For time-sensitive info (tomorrow's class), pick 1 day. For general info, pick 3โ€“7 days.

4
Click Post

It appears in the list above the text box and goes live in the client portal immediately.

Deleting an Announcement Early

Click Delete next to any announcement in the active list. It disappears from client portals instantly.

17. Your Recommended Daily Routine

TimeActionWhere
Morning (before first class)Check the Roster for today's classes โ€” know who's coming๐Ÿ“‹ Roster tab
Check the Birthday alert bar โ€” wish anyone a happy birthdayDashboard top
Check Pending Approvals โ€” approve any new registrations๐Ÿ‘ฅ Clients tab
After each classConfirm attendance for that class and deduct sessions. Leave no-shows unchecked; they're recorded automatically.๐Ÿ“… Schedule tab โ†’ โœ“ Attendance
Log a session note for each client (takes 2 min per person)Client Profile โ†’ ๐Ÿ“ Session Note
End of dayAdd sessions for anyone who purchased a pack today๐Ÿ’ณ Sessions tab
Post any announcements relevant to tomorrow๐Ÿ“… Schedule tab
Charge any late cancels per your policy (with a reason). No-shows are handled automatically.๐Ÿ’ณ Sessions โ†’ ๐Ÿ“‹ History โ†’ ยฑ Adjust balance

18. Your Recommended Weekly Routine

DayActionWhere
Friday or SundayUse Copy Week โ†’ Next to build next week's schedule๐Ÿ“… Schedule tab
Make any changes to the copied week (cancellations, additions)๐Ÿ“… Schedule tab
Click Publish All This Week to make classes visible to clients๐Ÿ“… Schedule tab
WeeklyCheck Revenue tab โ€” who has โ‰ค2 sessions left? Reach out proactively.๐Ÿ“Š Revenue tab
Review class ratings โ€” any class consistently below 4 stars needs attention๐Ÿ“Š Revenue tab
Check the Clients tab for anyone not booking โ€” they may be about to drop off๐Ÿ‘ฅ Clients tab
One time (first week)Open ๐Ÿ“‹ History for each client and record opening balances for anyone with a gold โš–๏ธ notice๐Ÿ’ณ Sessions tab
One time now (first!)Run ๐Ÿ” Find session errors and fix what it finds๐Ÿ’ณ Sessions tab
One time now, then monthlyRun โณ Check expiry dates, apply the fixes, and remove expired sessions๐Ÿ’ณ Sessions tab

19. Tips & Reminders

โœ… Always Do This
โš ๏ธ Never Do This
๐Ÿ’ฌ If Something Looks Wrong

PhitFreaks Admin Portal User Manual  ยท  Updated October 2026  ยท  For internal use only