Admin Portal User Manual
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
Open your browser and navigate to your PhitFreaks admin page (admin.html on your website).
Use the email and password set up for your admin Firebase account.
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.
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:
| Tab | What It's For |
|---|---|
| ๐ Schedule | Add, manage, and publish classes for the week. Post announcements to clients. |
| ๐ฅ Clients | Approve or reject new registrations. View and manage all your clients. |
| ๐ Roster | See exactly who is booked into any specific class, including the waitlist. |
| ๐ Forms | Quick links to the assessment form, mobile evaluation app, and liability waiver PDF. |
| ๐ณ Sessions | Add or adjust session balances for clients. See who is running low. |
| ๐ Revenue | Business 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:
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
- Send a personal text or shoutout to clients with upcoming birthdays
- Celebrate training anniversaries in class โ these moments build loyalty
- Consider a small gesture: a birthday discount, free session, or just a heartfelt message
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.
Click the announcement text box at the top of the Schedule tab. Example: "Tomorrow's 6am class moves to the backyard โ bring your mat!"
Choose how long the announcement should stay visible โ 1 day, 3 days, or 7 days. It disappears automatically after that.
The announcement goes live immediately in the client portal.
Click the Delete button next to any active announcement in the list above the text box.
Adding a New Class
Select the Class Type from the dropdown (Small Group Training, HIIT, Strength & Conditioning, Competition Prep, Mobility & Recovery).
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.
Pick the date from the calendar picker and the time from the time field.
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.
Default is 6. Change this if you want a smaller or larger class for that session.
This shows on the client's booking card โ e.g., "Bring a mat" or "Outdoors today."
Leave it checked to make the class visible to clients right away. Uncheck it to save it as a draft and publish later.
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.
| Button | What It Does |
|---|---|
| โ Active / Activate | Toggles whether the class is visible to clients. Green = visible. Grey = hidden draft. |
| โ Attendance | Appears the moment a class's end time passes โ available same-day, as soon as the class is over. Opens the attendance confirmation screen. |
| โ๏ธ Edit | Opens an edit panel where you can change the class type, title, date, time, duration, max spots, or notes. Existing bookings are preserved. |
| Delete | Permanently removes the class. Cannot be undone. |
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.
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.
The client moves to the Approved section and immediately gains access to the full portal โ they can book classes, see their progress, etc.
Moves them to the Rejected section. They'll see a "not approved" message when they try to log in.
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:
- Click View Profile to open their full profile
- See session balance at a glance โ clients with 0 sessions show in red
- Search or scroll to find any client quickly
โ 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.
All upcoming and past classes are listed. Pick the one you want to view.
You'll see every client who is booked, along with buttons to Add, Move, or Remove them.
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.
โ 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.
The roster loads with the spots summary and the full client list.
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.
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.
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.
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
Select the class the client is currently booked into from the dropdown.
Each entry shows the client's name, email, and session balance.
A modal opens showing the client's name and a dropdown of all other available classes that still have open spots.
Only classes with available spots are shown. Full classes are automatically excluded.
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:
| Recipient | Email Contains |
|---|---|
| Client | Confirmation 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. |
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.
| Form | What It Is | How 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.
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.
Adding Sessions to a Client
The Sessions tab shows all approved clients with their current balance. Clients with 0 sessions are highlighted in red at the top.
A small form appears for that client.
e.g., 10 for a 10-pack. Select the package type from the dropdown.
This is logged for your Revenue Dashboard. Enter the dollar amount the client paid.
The client's balance updates instantly. A purchase record is saved to their history.
Viewing Purchase History
Each client row in the Sessions tab has a ๐ History button. Click it to expand a full list of every session pack that client has purchased โ date, package type, and amount paid.
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.
10. ๐ Revenue Tab
Your business at a glance. This tab pulls data automatically โ nothing to enter here. Just click the tab and review.
Metric Cards
| Card | What It Shows |
|---|---|
| Active Clients | Total number of approved clients currently in your portal. |
| Total Revenue | Sum of all session pack purchases ever logged โ all-time. |
| Sessions Sold | Total number of individual sessions sold across all clients, all time. |
| Avg Sessions / Client | Average sessions purchased per client. Useful for spotting buying patterns. |
| Expiring Soon | Number 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
At the bottom you'll see a table of every class your clients have rated in the last 30 days โ with the average star rating and number of reviews. Use this to see what's landing and what might need a refresh.
11. ๐ง 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.
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 It | What They Receive | Timing |
|---|---|---|
| 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). |
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.
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.
12. 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.
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.
Find the class that just ended. Once the end time passes, it shows a green โ Attendance button โ available same-day.
A modal opens showing everyone who was booked for that class.
Put a checkmark next to every client who attended. Leave unchecked anyone who no-showed โ their session will NOT be deducted.
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.
One session is deducted from every checked client's balance. Walk-ins with 0 sessions will be flagged. This cannot be undone.
Your current policy does NOT deduct a session for no-shows โ only for clients you check off as attended. If you want to charge no-shows, simply check them anyway. It's your call.
13. 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
| Element | What It Means |
|---|---|
| Red Health Alert Banner | If 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 Badge | Shows whether the client has received medical clearance. Green = cleared, grey = not yet. |
| Current Goal | The goal you've set for this client โ visible to them in their portal too. |
| Contact Info | Email, phone, date of birth. The birthday is used for the alert bar. |
Editing Profile Information
Setting or Updating a Health Alert
A prompt appears asking you to type the alert message.
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
A prompt appears.
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:
The New Assessment modal opens.
Initial Assessment, 60-Day, 6-Month, or 1-Year.
Weight, body fat %, resting heart rate, and any other metrics you track.
The data is saved and appears in the client's My Progress tab in the portal.
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
| Button | What It Opens |
|---|---|
| ๐ Session Note | Log a new session note for this client (see Section 12) |
| ๐ Measurements | Enter circumference measurements (waist, hips, chest, arms, thighs) |
| โ Assessment | Add a new assessment checkpoint record |
| Close | Close the profile modal |
14. 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.
Go to the Clients tab โ click View Profile on the client you just trained.
The Session Note modal opens, pre-filled with today's date.
Small Group Training, HIIT, Strength & Conditioning, Competition Prep, Mobility & Recovery, or 1-on-1.
List the exercises, sets, reps, and weights. Example: "Back squat 5ร5 @ 135 lbs, Romanian deadlift 3ร10, box jumps 3ร8."
Write your observations โ what improved, what needs work, form cues to remember, modifications used, what to focus on next session.
Rate how hard the client worked. 7 = moderately hard, 9 = near max effort. This helps track load over time.
The note is saved and immediately visible to the client in their My Progress tab.
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.
15. 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
- "Tomorrow's 6am class is moving outside โ meet in the backyard!"
- "I'll be out of town Aug 30โSept 2. No classes those days."
- "New class added: Sunday 9am HIIT โ book your spot now!"
- "Reminder: sessions expire 6 months from purchase date."
- "Congrats to Lisa on hitting her 6-month goal! ๐"
How to Post
The announcement section is at the very top, above the Add Class form.
The announcement disappears automatically after this time. For time-sensitive info (tomorrow's class), pick 1 day. For general info, pick 3โ7 days.
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.
16. Your Recommended Daily Routine
| Time | Action | Where |
|---|---|---|
| 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 birthday | Dashboard top | |
| Check Pending Approvals โ approve any new registrations | ๐ฅ Clients tab | |
| After each class | Confirm attendance for that class and deduct sessions | ๐ Schedule tab โ โ Attendance |
| Log a session note for each client (takes 2 min per person) | Client Profile โ ๐ Session Note | |
| End of day | Add sessions for anyone who purchased a pack today | ๐ณ Sessions tab |
| Post any announcements relevant to tomorrow | ๐ Schedule tab |
17. Your Recommended Weekly Routine
| Day | Action | Where |
|---|---|---|
| Friday or Sunday | Use 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 | |
| Weekly | Check 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 |
18. Tips & Reminders
- Confirm attendance right after class โ don't wait until the end of the week
- Add sessions to a client's account the same day they pay you
- Approve new registrations within 24 hours โ they're excited when they sign up
- Set a health alert for any client who mentions an injury or health issue
- Use Copy Week โ Next every weekend to stay ahead
- Don't delete a class that has clients booked โ remove them from the roster first
- Don't approve a client you don't recognize without verifying who they are
- Don't skip confirming attendance โ clients won't be deducted and your records will be off
- Don't ignore the red zero-session alerts โ clients will be locked out and frustrated
- Data not loading? Refresh the page first
- Error with an index message? The Firestore index may still be building โ wait 2 minutes and try again
- Client says they can't book? Check their session balance in the Sessions tab โ it's almost always zero sessions
- Client doesn't see an announcement? They may need to log out and back in to refresh
PhitFreaks Admin Portal User Manual ยท August 2026 ยท For internal use only