Admin Assistant — User Guide

You handle gym ops on behalf of an owner: scheduling, member check-in, member lookup.

Your permissions are deny-by-default, not allow-by-default. A new admin assistant account starts with a small set of things switched on — managing schedules, checking members in, viewing the member list, messaging the team — and everything else switched off until the owner grants it individually. That is the opposite of "full access except a few things", and it is deliberate.

You can see more of a member's record than you may expect, so treat all of it as confidential. Opening a member from the Members tab shows their full profile, and that record can include injury notes, dietary preferences, goals, date of birth and other personal details. There is no separate switch that hides those from you today — assume you can see them, and handle them accordingly. Look only when a task requires it, never repeat what you read, and route any question about a member's training or their numbers to their trainer.

Set your expectations low for the rest, for now. Several permissions your owner can tick — member workout history, the revenue dashboard, refunds, checkout, the CRM pipeline — are not yet read by the screens they are supposed to unlock, so granting them may change nothing you can see. If something this guide mentions does not appear for you, ask your owner, but do not be surprised if the answer is "it's not wired up yet." We would rather tell you that than have you chase a toggle.

At-a-Glance (3-minute orientation)

Your five tabs along the bottom are Dashboard, Schedule, Members, Messages and More. Bottom-left is Dashboard. There is no tab called "Admin".

  1. Start on Dashboard. It shows your next appointment and a row of quick actions.
  2. The five quick actions are View Schedule, Members, Member Lookup, Team Chat and Check-in Kiosk.
  3. Schedule for the calendar.
  4. Members for the member list.
A second, richer admin dashboard exists but nothing opens it. It has a pending-check-ins count, an upcoming-appointments list and its own quick actions including member lookup and checkout. It is built and it is not reachable — not even from your own onboarding, which sends you to the ordinary dashboard. If you have seen it described elsewhere, that is why you could not find it.
There is no Inbox. Earlier versions of this guide were built around one — a single queue surfacing booking conflicts, failed payments and waiver-pending members. It does not exist in the app. Triage happens from the Dashboard and the Schedule instead.

Reliably reserved to the owner, regardless of what you are granted:

  • Stripe Connect onboarding
  • Cancellation-policy changes
  • Subscription tier changes
  • Custom domain setup

In-Depth — User Stories

US-AA-001: Check a member in

This is the front-desk job, and it needs the Check in members permission from your owner.

  1. From Dashboard, tap Check-in Kiosk for the front-desk kiosk flow, or View Schedule to work from the calendar.
  2. Find the session and mark the member as arrived.

There is no waiver-reminder queue and no in-app "manual collect" flow for a signed paper waiver. If your gym needs a waiver chased, that is an owner-side task today.

US-AA-002: Add a new member on behalf of the owner

Whether you can do this depends on how your owner set you up. Go to More → Front Desk → Invites. That screen opens for you — it is the Settings entry that is owner-only, so an earlier version of this guide was wrong to say you had no way in.

What you see there depends on one thing: Manage invitations. It is not an individual switch your owner can tick — it comes as part of the Operations Manager template in team management, so it is a decision about your role rather than a single checkbox.

  • With it — you can invite members, trainers and other assistants.
  • Without it (the default for Scheduling Focus and Front Desk) — the screen opens but offers no invite button. That is expected, not a bug.

If you need it, ask your owner to move you to Operations Manager. Until then, ask them to send the invitation.

US-AA-003: Work the schedule

The Schedule tab is where most of your day happens, and it needs the Manage all schedules permission (on by default).

  1. Open the Schedule tab, or tap View Schedule from the Dashboard.
  2. Work the calendar from there — appointments across the trainers you can see.
Trimmed for accuracy. This section used to describe a conflict-resolution queue with side-by-side bookings, a "reassign to a different trainer" action, filter chips by service/member/location, and a one-tap Conflicts filter. None of those exist. We have removed them rather than leave you hunting for controls that were never built.

US-AA-004: Look a member up

When someone calls the front desk and you need their details:

  1. From Dashboard, tap Members or Member Lookup — or use the Members tab.
  2. Search for them.

Member Lookup is the quickest route when someone is standing at the desk: it is a search-first screen built for exactly that moment, and it is on your dashboard.

What you need is contact information — name, email, phone — and that is what a check-in or a booking question calls for. The record you open can show more than that, including injury notes, dietary preferences and goals. Treat anything beyond contact details as none of your business unless a task requires it: do not browse it, do not repeat it, and if a member asks you about their training or their numbers, route them to their trainer. That is a professional obligation you are trusted to keep, not a wall the software puts in front of you.

US-AA-005: Refunds and checkout

There is no refund flow on a member's billing screen. Opening a member and looking at Billing shows their card on file, their active contract and their ledger — and no way to refund a charge. An earlier version of this guide walked through a full/partial refund with a reason picker. That screen does not exist.

Front-desk checkout is a permission your owner can grant, but the quick action for it sits on the unreachable admin dashboard described above, so there is no way in today either.

For an actual refund, go to the owner. Refunds ultimately settle through Stripe against the trainer's or gym's balance, and the owner has the access to do it.

US-AA-006: Help a member who can't log in

There is no "Admin actions" menu on a member record, and no in-app way for you to trigger a password reset, verify a member's identity or change their email address. Those controls do not exist for your role.

What actually works, and what you should tell them:

  1. On the login screen, tap Forgot Password?
  2. Enter the email address on the account.
  3. Tap Send Reset Link.
  4. Check the inbox, and the spam folder — that is usually where it is.

The most common cause of "the reset email never arrived" is that the address they are typing is not the address on the account. You can confirm which address is on file from the Members tab.

You never see a member's password. Nobody at MyTrainerOS does — they are not stored in a readable form.

US-AA-007: Reports for the owner

There are four reports, and they are all financial: Revenue Report, Monthly P&L, Financial Transactions and Payroll Report. There is no Members, Sessions, Attendance or Cancellations report.

You cannot open them, and no permission changes that. The four report screens are restricted to trainer and owner accounts. That check runs before any of your permissions are read, so an assistant account is turned away whichever route it arrives by — there is also no reports entry in your More menu.

Do not ask your owner to tick "View revenue dashboard" or "Export financial data" for you. Those two switches exist on their team-management screen and look like the answer, but nothing in the app reads either one — granting them will not open a single screen. If you genuinely need a report, ask your owner to run it and send it to you.

In practice: when an owner asks you for numbers for their accountant, the honest answer today is usually "you'll need to pull that one yourself."

US-AA-008: Submit a feature request from owner feedback

If the owner mentions wanting something the platform doesn't do:

  1. Open Feature Requests — More → Support, or Settings → Support & Legal.
  2. Pick a category, choose a type and severity, and write the request. There is no attachment option, so describe what you saw in words.
  3. Submit. The MyTrainerOS team sees it in the public feedback board alongside everyone else's requests. Upvotes drive prioritization.

Triaging tickets you're forwarded

Front desk means problems reach you first. Most of them are not support tickets, and knowing which are is most of the job.

Handle it yourself

Booking conflicts, check-in problems, a member who needs their session moved, a member who can't find something in the app — these are all front-desk work and are covered elsewhere in this guide. Filing a ticket for them adds a day and changes nothing.

Send it to the owner

Refunds beyond your granted permission, pricing questions, policy exceptions, staff access, and anything about payouts are owner decisions. MyTrainerOS support cannot authorise them on the owner's behalf.

File a support ticket

Escalate to MyTrainerOS when the software is at fault rather than the process — a page that won't load, a payment that failed with no explanation, data that shows the wrong value, or a member who cannot log in after a password reset has genuinely been delivered and used.

These are the response targets we publish. Severity is chosen when the ticket is created.

SeverityFirst responseResolution target
Urgent — production down, you can't take payments<2h business<24h
High — a feature is broken, or a member is blocked<8h business<72h
Normal — how-to questions, minor bugs<24h business<7 days
Low — feature requestsacknowledged within 7 daysno commitment

What to include

The difference between a ticket resolved on the first reply and one that takes four round-trips is almost always the detail in the first message. Include:

  • What you were trying to do, in one sentence.
  • What happened instead — the actual message or behaviour, not a paraphrase of it. If there was an error, quote it exactly.
  • Steps to reproduce, numbered, starting from a screen you can reliably get back to.
  • A screenshot, if anything was visible on screen.
  • Who it affects — just you, one member, or everyone. If it's a specific member, include their member ID rather than their name.
  • When it started, and whether it has ever worked.

Please don't paste health details into a ticket. We don't need a member's measurements, injuries, or nutrition history to fix a software bug, and a ticket is not the right place to store them. A member ID is enough for us to find the right account.

Because you are usually reporting on someone else's behalf, two extra details matter more for you than for anyone else:

  • Report the member's ID, never their health information. As an admin assistant you do not have access to member workouts, nutrition, or body stats, and a support ticket must not become a way around that boundary.
  • Say whether you reproduced it yourself or are relaying what a member told you. Second-hand reports are still worth filing — but we will ask different questions, and knowing up front saves a round-trip.

Tracking status

Every ticket moves through four states:

  • Open — filed, not yet picked up.
  • In progress — someone is actively working on it.
  • Resolved — we believe it's fixed and we're waiting on you.
  • Closed — finished.

Nothing closes on a timer. A resolved ticket stays where it is until a person closes it, so there is no window you can miss and no deadline on you. If a resolved ticket did not actually fix your problem, reply on that same ticket — your reply reaches the support team and they can pick it back up. If the same problem returns much later, file a new ticket and reference the old number so the history is easy to follow.

You will see the tickets you filed. You will not see tickets filed by members or by other gyms — ticket visibility follows the same boundary as the rest of your permissions.

If you're stuck

If a ticket has gone past its first-response target above, reply on the existing ticket rather than opening a second one — a reply bumps it, and duplicate tickets split the history across two threads and slow things down. If the problem has got worse since you filed (it started as a question and is now blocking payments), say so in a reply and ask for the severity to be raised. Severity is not fixed at intake.