This is the Owner manual, for the person running the gym. It covers revenue, membership billing, packages, staff, leads and the settings that shape how the gym operates day to day. It describes the web app at metconiq.app, where owners do most of their admin rather than on mobile.
Solo studios
If your gym is on the Solo plan, MetconIQ treats it as a one-person personal-training studio rather than a group-training gym. The app says "client" where this manual says "athlete", and "studio" where it says "gym". This manual keeps the group-gym terms throughout. A Solo studio is still a gym in every structural sense: seats, members, packages, tiers, Connect billing and invites all work the same. Several group-training surfaces are hidden from its navigation because there is nothing to run there: the leaderboard, class tracks, the published class timetable, Leads, Staff, Late fees, Payroll and the Waiver page. Sessions stays, because a solo trainer books sessions directly instead of publishing a recurring timetable.
Your gym plan sets your athlete seat capacity and decides which business features you get. Individual athlete plans (Free, Pro, Elite, Box) and the platform's role system are covered in the Athlete manual. This page covers the parts that matter to owners.
Roles at your gym
| Role | Who is this? |
|---|---|
| Coach | All athlete features plus programming, schedules, sessions, member management and alerts. You grant two pages per coach from Staff, Payroll and Packages. Every other page follows the coach's role. |
| Owner | Everything a coach can do, plus the business dashboard, membership tiers, packages, staff, leads, waivers and gym settings. This manual is written for you. |
Gym plans
| Gym plan | Price | Athlete seats | Notes |
|---|---|---|---|
| Solo | S$49 / US$38 per month | 10 | For personal trainers and small studios. You can buy one extra block of 10 seats, taking it to 20. Solo is the only plan with a cap on extra blocks. No group-training surfaces (see Solo studios in the Overview). |
| Starter | S$109 / US$85 per month | 50 | Extra seats purchasable in blocks of 10, no limit on how many. |
| Growth | S$239 / US$187 per month | 150 | Extra seats purchasable in blocks of 10, no limit. Adds custom gym branding (your logo and accent colour on the athlete app). |
| Enterprise | S$449 / US$349 per month | 300 | Extra seats purchasable in blocks of 10, no limit. Adds the multi-location portfolio view and AI gym layout planning. |
Extra seats cost S$32 / US$25 per month per block of 10 athletes, on every plan. Seat usage is shown live on the Athletes page (for example "47 / 50 seats"). A member on hold does not use a seat. Annual billing costs ten months for twelve and is available on every plan. Solo, for example, is S$490 or US$380 a year. Lead assignment to specific coaches is available on every gym plan.
The public gym pricing page is at metconiq.app/pricing/gyms. It shows the same prices, with monthly and annual and SGD and USD toggles.
A new gym starts on the admin home. Owners see a setup guide at the top of it until the required steps are done. Coaches do not see it.
The setup guide
The card is titled Get your gym running, with a count such as "2 of 5 done". Each step that is not done links to the page that does it. A step turns to a tick on its own once your data shows it is done. There is nothing to tick by hand.
| Step | Counts as done when |
|---|---|
| Add your athletes | At least one athlete is active in the gym. |
| Publish your class timetable | At least one class schedule is active. Not shown on a Solo studio. |
| Create your first workout | The gym has one workout of its own. A generated or imported workout counts, drafts included. A personal plan does not. |
| Set up memberships — Stripe or tracked elsewhere | You have at least one membership tier that is not archived. |
| Get your first score logged | A result exists on one of your gym's workouts. An athlete logs it, or a coach logs it from the class roster. |
| Publish your waiver (Optional) | You have published a waiver. This step is marked Optional, is not part of the count, and is not shown on a Solo studio. |
A Solo studio has four steps: clients, first workout, memberships and first score. The wording says "studio" and "clients".
When it goes away
- It finishes. When every required step is done, the card reads "Your gym is set up" once. After that it is gone for good.
- You hide it. Choose Hide setup guide, then Hide it at the prompt "Hide it for good? It won't come back." Choose Keep it to cancel.
- Enterprise. If you own an Enterprise gym, you land on the Portfolio page, and the guide sits at the top of that page.
How athletes join
| Route | What happens |
|---|---|
| Invite Athlete | On the Athletes page, choose Invite Athlete and enter an email. The athlete is active as soon as they accept. An invite is valid for 7 days. Inviting the same email again replaces the earlier invite. The Pending Invites tab lists open invites, and you can revoke one. |
| Gym join code | The athlete opens your gym's join page and either creates an account or logs in. They are active at once. If you have published a waiver, they sign it on that page. The join code is managed by the MetconIQ team. You cannot regenerate it yourself. |
Both routes stop at your seat limit. A new athlete sees a message that the gym has reached its seat limit, and you need to buy more seats or change plan. A member you removed, or who left, cannot rejoin with the join code: invite them again with Invite Athlete. Gym Settings has no approval option, so there is no step where you approve a new member.
The Business dashboard puts revenue, membership health, class operations and staff performance on one page. It is owner-only and sits under Business in the sidebar. The server enforces this too: a coach cannot load it.
Top-line tiles
| Tile | What it shows |
|---|---|
| Current MRR | This month's recurring revenue. It counts your athletes and anyone else on a membership tier, such as a coach who pays a membership. It leaves out members on hold. A yearly tier counts as one twelfth a month. |
| Churn (30 days) | Members who left in the last 30 days ÷ members you had 30 days ago. A member is an athlete. Owners, coaches and drop-in visitors are not counted. An athlete has left once deactivated or removed. |
| Avg Tenure | Average months since activation, across every active member at the gym, staff included. |
| Est. LTV | Revenue per member ÷ monthly churn. It shows "—" when nobody left in the last 30 days, because there is nothing to divide by. |
| Revenue / member | Current MRR ÷ the members counted in it. Shows $0 when no one is counted. |
Projected MRR (next month), on the Revenue card, is Current MRR less the same 30-day churn. The Churn Rate — Last 3 Months chart on the Retention card uses the same definition, one calendar month at a time. So the tile, the projection and the chart always agree on who counts as a member and who has left.
A gym with no membership tiers has no tier MRR. Its MRR is the athletes counted × the per-athlete monthly fee on the Revenue card. Choose Edit beside the fee to change it.
Recommended actions today
The bottom card lists what needs attention, each with a link. Examples are athletes flagged on Retention Alerts, invites not yet accepted, members with no tier, and next week's workouts not yet programmed. It also names past classes nobody closed, for example "3 past classes not closed". An unclosed class has no marked bookings, so the No-show Rate cannot count it. Open Sessions, go to the Past Classes tab and choose Close Class + Mark No-shows on each one.
Export to your bookkeeper
The Export CSV button at the top of the page downloads the whole dashboard as a spreadsheet: revenue, membership, retention and class-operations numbers together. Hand it to your bookkeeper or accountant.
Membership tiers are your gym's recurring memberships. You define and price them, then put members on them. Billing can run through MetconIQ, with card payments going straight to your own Stripe account, or stay external (bank transfer, cash, another system). Either way, MetconIQ tracks who is on which tier.
Setting up
Day-to-day billing operations
| Situation | What happens |
|---|---|
| Failed payment | A daily sweep sends the member up to three escalating reminder emails, on a 0/3/7-day cadence, each linking to their billing portal to fix the card. Access is never suspended automatically, so the member's status stays yours to decide. Past-due members drop out of MRR until the payment is resolved. |
| Price change | Choose Edit price on a tier's row to change what new subscribers pay. Existing subscribers keep the price they signed up at. To move them to a tier's current price, choose Migrate existing members on its row and confirm. Members are emailed straight away, and the new price applies at their next renewal, at least 14 days out. Nobody is charged a mid-cycle difference. Cancel change withdraws a pending move. |
| Hold / freeze | On the Athletes page, choose Hold on the member's row. Pick a Resume on date, or leave it blank to lift the hold by hand, and add an optional reason. A hold never suspends the member's account — their training history stays intact. Booking and billing pause, and the member does not use a seat. For a member billed through Stripe, invoices for the frozen period are voided, not deferred. A member billed externally has nothing paused automatically, so the hold is a record. A hold with an end date resumes by itself. To lift one early, open the hold and choose Resume membership. A subscription you pause in Stripe shows up as a hold too. |
| Removing a member | Remove also cancels the member's upcoming bookings, refunds their punches and moves waitlists up. A membership billed through Stripe ends at the end of the paid period, and nothing is refunded. If Stripe refuses, a warning asks you to end the subscription in Stripe yourself. The same happens on a scheduled deactivation date, when a member leaves, and when you deactivate a coach. Deactivate, which disables the whole account, is no longer available to gym staff. It is platform support only, so use Remove. |
| Refund | Issue refunds from your Stripe dashboard. There is no refund button inside MetconIQ. A full refund on a drop-in cancels that booking automatically. A full refund on a package voids its remaining credits, recorded against the original charge. Partial refunds are logged but don't change anything in the app on their own. One case is automatic: a drop-in payment is refunded when you cancel or delete the class. See Drop-in classes under Packages. |
| Member self-service | Card-billed members manage their own card and invoices from their Account Settings, with no owner involvement. |
| Archiving a tier | Choose Archive on a tier you no longer sell. Existing subscriptions keep their agreed price and billing history. Members already on an archived tier still count in MRR. |
Packages are pre-paid class bundles that become punch cards. Find them under Business → Packages. The page has three tabs: Templates (what you sell, with a + New Package button), Member Packages (what's been issued: member, package, credits remaining, expiry and source) and Requests (pending purchase approvals, with a sidebar badge).
Template options
| Option | What it controls |
|---|---|
| Credits & price | How many class credits, or Unlimited, at what price. |
| Validity | Days, weeks or months. Validity starts from is either Date of purchase or First class booked. |
| Auto-expire | When validity starts from the first class, you can expire the card if the member does not book within a set number of days. |
| Booking limit per day | Cap how many classes a card can book in one day. |
| Max purchases per member | Limit repeat purchases (e.g. an intro offer sold once per member). |
| Track restriction | Restrict the card to specific class tracks. |
| Minimum member plan | Any plan, PRO+, ELITE+ or BOX only. |
| Shareable | Credits can be used for a guest. |
| Published | Visible to members. A package must be published before it can be sold or issued to anyone. |
How members buy
If your gym's card payments are live, members see Buy Now on the web and pay by card. The punch card is issued automatically on payment. If you have not connected Stripe at all, members see Request instead. Their request lands in your Requests tab. Approve issues the punch card, and Reject declines it. If you have started Stripe setup but not finished it, members see "Ask your gym to set up card payments to buy online" and cannot request. In the mobile app members are pointed to the web to buy.
You can also issue a published package from the Athletes page with Issue Package on the member's row — comps, trials, front-desk sales.
Adjusting punch card credits
On the Athletes page, choose Punch Cards on a member's row. The Active Cards tab lists their cards, and Issue New Card adds one. Choose Adjust on a card, enter a change such as +2 or -1, give a reason, and choose Save. The reason is required, and a change can be up to 500 credits either way. If the change is refused, the dialog shows the reason it was refused.
Drop-in classes
A drop-in lets a visitor pay for one class, with no punch card and no membership. Switch it on by entering a Drop-in price in Settings, in the Cancellation Policy panel. Card payments must be connected first. Leave the field empty to switch drop-ins off. The drop-in page then lives at metconiq.app/gyms/your-gym/drop-in, with your gym's own address name in place of "your-gym".
- What visitors see. Your gym's name and the price, then your upcoming public classes for the next two weeks, with spots left. A full class reads "Full". Private sessions are not listed. Anyone can browse. To pay, the visitor must sign in or create an account, then choose Pay & book. Your booking cutoff applies, so bookings close the set number of minutes before the class.
- Where the money goes. The payment is made on your connected Stripe account, so it is your income. PayNow and GrabPay appear automatically beside card on Singapore charges whenever your Stripe account has them active. There is no separate switch for this in MetconIQ. Google Pay comes through the card option.
- A visitor is not a member. A drop-in visitor takes no seat, gets no plan, and is not counted in your churn, your leaderboard or your revenue per member. They book only through the drop-in page, one paid class at a time. A person who is already a member of your gym books through Classes instead and cannot pay here. A visitor you have deactivated is asked to contact the gym.
- The held spot. When the visitor starts to pay, the spot is held for 15 minutes. If they abandon checkout, the hold lapses and the spot returns to the class. If they pay after the 15 minutes and the class still has room, the booking is confirmed. If the class filled in the meantime, the payment is refunded in full.
- Waiver. If you have published a waiver, the drop-in page shows it, and the visitor types their name and ticks the box to sign it before paying. The signature records the version they were shown.
- On the phone app. The drop-in page shows "Book on the web" in place of the pay button. Visitors pay on the web at metconiq.app.
Drop-in refunds
Cancel a class, delete it or its whole schedule, or close the gym for a date range, and every paid drop-in booking for it is refunded in full, automatically, on your connected Stripe account. Members with punch cards get their credit back as usual. The refund comes out of your account, and the fees taken on the original charge are not returned. Check your Stripe dashboard if a visitor says a refund has not arrived. A second payment for a booking that is already paid is also refunded.
Staff
The Staff page (owner-only, under Members) manages your team. Choose + Invite Coach to invite by email. The table shows each person's role, status, pay type and how many pages they can open. Choose a row to open a panel with:
- Access Levels — only Payroll and Packages are granted per coach, and both are hidden from coaches unless you grant them here. Every other page follows the coach's role. Choose Save Access to apply it.
- Pay Configuration — one of four pay types per coach: Flat Rate per session, Tiered Range by attendee count, Revenue % of class revenue, or Tiered % by attendee count. Revenue % and Tiered % work from your gym's athlete revenue (tier MRR, or paying members × the per-athlete fee) divided by the month's classes. Flat and percentage rates are entered in cents and basis points (3000 = 30%). Choose Save Pay Config.
- Deactivate Coach — at the bottom of the panel. It ends their membership the way Remove does: their upcoming bookings are cancelled with punches refunded, and a membership they pay for through Stripe ends at the period end. You cannot deactivate the owner row or yourself from Staff.
Payroll
Payroll auto-calculates each coach's pay for any calendar month from the sessions they were assigned to and their pay configuration. Attendance in these figures is the bookings marked attended, so a class nobody closed shows no attendees. A cancelled class is neither paid nor counted. Use the arrows beside the month to move between months.
- Monthly summary — total payable, coach count and session count, with a per-coach table.
- Drill-down — open any coach for a session-by-session breakdown: date, class, attendees, amount.
- Export CSV — download the month for your accounting or payroll software.
Leads is a lightweight CRM for gym enquiries such as walk-ins, website messages and referrals. It is a kanban board organised by pipeline stage: New → Contacted → Trial booked → Trial attended → Won, with a separate Lost column. A lead reaches Won only by being converted. Choose Convert to member in the lead's drawer, which needs an email address and sends the invite. There is no other way to mark a lead won, so the funnel can't overstate conversions.
Assignment & sources
Assign any lead to an active coach (or yourself) from its drawer. Assignment works the same way on every gym plan. Sources are Walk-in, Referral, Instagram, Web or Other. Pick the one that matches how the enquiry reached you, including a conversation that started as an Instagram DM or through the chat widget on your site.
MetconIQ collects and stores liability-waiver signatures for you. You supply the waiver text, because MetconIQ does not provide legal wording. The platform handles presentation, signing and record-keeping.
Where people sign
- At joining — the join-code and invite pages show the waiver once you've published one. The athlete types their full name and ticks the consent box. Coaches who join are not asked.
- At first booking — an existing athlete who hasn't signed sees the waiver when they try to book a class. Signing completes the booking in place. This catches athletes who joined before you published, and athletes you added yourself.
- At drop-in checkout — a drop-in visitor signs on the drop-in page before they pay. See Drop-in classes under Packages.
- On paper — record a paper signature against a member, with an optional reference note, so compliance tracking stays complete.
Publishing and versions
Open Waiver in the sidebar. The page shows the currently published version, then a form with a title and the waiver text. Publish is the only write. There is no draft state. Every publish creates a new version, and that version replaces the old one for anyone who signs from then on. Use wording your own lawyer has approved.
Under the text is a tick box, Material change — everyone must sign this new version again. Leave it unticked for a typo or a wording fix: signatures already given stay valid. Tick it and every member must sign the new version before they can book. The page tells you how many people that affects. It takes effect the moment you publish, with no grace period, and it cannot be undone by unpublishing.
A signature records the version the person was shown. If you publish while someone is part way through signing, the sign-up refuses their signature and shows them the new version to read and sign instead. Nobody signs text they were not shown.
Compliance records
Choose View compliance on the Waiver page to open Waiver compliance. It lists everyone on your gym's roster, drop-in visitors included: whether they are covered, the version signed, when, and the method. The tick box Show unsigned only narrows the list. Download CSV saves it. Beside anyone not covered, choose Record paper waiver and enter an optional reference. The paper signature is recorded against the current version, under your name. Beside anyone who is covered, View record opens a printable record with the full waiver text, the signer, the method and the audit details. Its Print / Save as PDF button gives you a copy for insurers or disputes.
These are the coaching tools you share with your coaches. The Coach manual covers them in full. This page covers what matters to you as the owner: who sees what.
Logging a score for an athlete
- Open Sessions, then open a class. If the class has a workout attached, each athlete on the roster has a Log score button. Coaches, owners and drop-in visitors do not.
- The form, Log score for the athlete's name, takes a score type, the score, a level (Scaled, RX or RX+) and optional notes. It has no effort rating and no private or anonymous option. Those belong to the athlete's own form.
- After you save, the row shows Edit score for an entry you made. For a result anyone else entered, including the athlete, the row reads Score logged, with no detail and no action. Staff see score details only for entries they made. The athlete may have posted privately, and private results are hidden from staff.
- The athlete sees your entry tagged Logged by coach in their history and on the leaderboards. Your name is not shown.
- Leaderboards rank athletes only. Owners, coaches and drop-in visitors are not ranked. A result posted anonymously or privately is left off the named boards.
Coaching notes on a workout
Open a workout from the plan, choose Edit, and write in the Coaching Notes field. Save, and the notes show in a Coaching Notes section on the workout. They are for staff only and never reach athletes. Generated plans put their own flags there too, such as an equipment substitution.
Retention Alerts and training load
Open Alerts in the sidebar. It flags athletes for three reasons. Members who joined in the last 3 weeks and members on hold are not flagged:
- No attendance · 3+ weeks — no class and no logged result in the last 21 days.
- Training load rising — the load ratio is above 1.3. The ratio comes from the athlete's readiness check-in (My Stats, Readiness tab), and only one from the last 7 days is used. An older check-in describes a different week. The wellness check-in on Home does not feed this flag.
- No check-in · 14+ days — no readiness check-in for 14 days. Checked for every athlete in the gym, because gym membership includes the readiness check-in. An athlete who has never checked in is flagged too.
Choose Message to write to the athlete, or Dismiss (7 days) to snooze the flag. The same flags feed the count on the Business dashboard. The automatic "we miss you" message never goes out for "No check-in" alone; that flag still shows on the Alerts page.
The load ratio compares this week's training with the previous four weeks. The app describes it in four words and never judges it: Below average (0.8 or lower), Steady (up to 1.3), Building (up to 1.5) and Sharp increase (above 1.5). A flag is a prompt for a conversation. It is not a prediction.
Gym Settings collects your gym-wide policies and integrations in one page. Open it with Settings in the sidebar. It is owner-only. Choose Save Settings after you change the policy fields.
| Panel | What it controls |
|---|---|
| Gym profile | Gym name, timezone and country. Class reminders and the nightly workout release run on the timezone you set. The country sets the currency for packages and membership tiers. It is fixed once you have connected Stripe. To change it after that, contact support. |
| Cancellation policy | Cancellation window in hours: an athlete who cancels inside it is flagged as a late cancel, and the class credit still goes back to their punch card. Booking cutoff in minutes before a class (0 = book right up to start time). Late-cancel fee in dollars: a late cancel is recorded as a fee owed, and nothing is charged to a card. Set it to $0.00 to flag late cancellations without recording a fee. A booking a coach removes never carries a fee. Fees owed and paid are tracked on the Late-Cancel Fees page (Late fees in the sidebar). It lists unpaid fees, and Show paid fees adds the rest. Mark Paid closes one once you have collected it. |
| Drop-in price | Dollar price for a single-class drop-in, set inside the Cancellation Policy panel. Requires card payments to be connected; leave it empty to switch drop-ins off. Detail under Packages. |
| Member birthdays | Toggle a once-a-year birthday greeting to members, signed with your gym's name. Off means members get nothing. |
| Publish a number in international format so members see a "Message on WhatsApp" link on their Classes page (empty = no link). Where MetconIQ has WhatsApp messaging switched on for your gym, a second toggle, Send WhatsApp alerts from this gym, sends two kinds of alert only, to members who opted in: a waitlist spot opening and a class cancellation. A class cancellation goes by WhatsApp even to members who also get push, and counts against your allowance for each of them; a waitlist spot goes only to members without the app installed (push wins there). The panel shows your usage as "WhatsApp alerts: N of M this month" — the monthly allowance is 5 messages per athlete seat. The cap is all or nothing for each event, so a large cancellation close to the cap sends no WhatsApp at all. | |
| Branding Growth+ | The Custom Branding panel. Upload your gym logo (PNG, JPEG or WebP, up to 2 MB, resized to 512 px) and pick an accent colour, with a live "On athlete app" preview. Reset to MetconIQ returns the accent to the default. Your members see your colours in their app. Available on Growth and Enterprise. |
| Payments | Connect and manage your gym's own Stripe account for membership tiers, packages and drop-ins. Payments from members settle to your account. |
| Check-in Kiosk | Create and revoke kiosk device tokens for front-desk tablets (see below). |
Setting up the check-in kiosk
metconiq.app/kiosk, paste the token into the Device token field and choose Pair. The tablet is now paired — no one is "logged in" on it, so it's safe at the front desk.Closures & minimum notice
Add a closure in the Closures card on the Schedules page. Enter a From date, an optional To date (leave it empty for a single day) and an optional reason. Every scheduled session inside that range is cancelled automatically, affected members are notified, any punch-card credit spent on those classes is returned, and paid drop-ins are refunded. New sessions skip the closed dates. The booking cutoff field above (in the Cancellation Policy panel) sets a gym-wide minimum notice: bookings close that many minutes before each class starts.
Seats
Your gym plan includes a seat limit (Solo 10 · Starter 50 · Growth 150 · Enterprise 300). The Athletes page shows live usage as "N / M seats". Buy more seats sits beside it once your gym has an active subscription, and adds capacity in blocks of 10 at S$32 / US$25 per month per block, without changing plans. Solo may buy one block only, taking it to 20; the other plans have no block limit. Only active athletes use a seat. Members on hold, owners, coaches and drop-in visitors do not. Seat purchases are web-only (not available inside the mobile app).
Changing your gym plan
Open the gym pricing page at metconiq.app/pricing/gyms and choose a plan. The plan you are on is marked Current plan. If your gym already has a subscription, the plan changes in place with no second checkout, and your next invoice is prorated. A move to a smaller plan is refused if you have more athletes than its seats, and the message says how many to remove or whether you can buy seat blocks instead. Seat blocks you hold are trimmed to the new plan's limit on a move down. A plan change is refused while your last payment has failed.
Your MetconIQ subscription (card, invoices, cancellation) is managed from Account Settings → MetconIQ subscription, which opens the secure billing portal. That card appears only if you have a MetconIQ billing account.
Referrals
Multi-location portfolio
Owners with an Enterprise gym get the Portfolio page. It lists every site in one table, with athlete revenue, seats, bookings, fill and show rates for the last 30 days, and shows portfolio totals below the table. Choose Open on a site to switch to it and land on its Business dashboard. Totals are one line per currency, never a combined figure, and memberships, seats and AI quota are not pooled across sites. Portfolio access is Enterprise-only, and is a property of the gym's plan, not something billing status can take away.
?view=gym. Opening a site switches every admin screen to that site until you switch back.Gym layout planner
Upload a floor-plan photo (JPEG/PNG/WebP, up to 8 MB), enter your equipment quantities, and the layout planner analyses capacity, zone usage, traffic flow and safety clearances, returning prioritised recommendations. Previous analyses are kept for comparison. Available on Enterprise only, for owners, with a monthly allowance of 8 renders (resets on the 1st).
MetconIQ ships as a mobile app with the same account and data as the web. As an owner, expect to do most of your heavier admin on desktop: the business dashboard, membership tiers, staff and waivers. The app is built for what you need on the gym floor.
Navigation
| Role | Bottom tabs |
|---|---|
| Owner / Coach | Home · Classes · Sessions · Admin · More |
On a Solo studio the Classes tab is replaced by Clients.
The More hub is the fifth tab: your profile card and quick stats, Training (Today's workout, History, My Stats, Personal Plan), Gym (Notifications and Messages with unread badges, Packages, and Coaching when you coach athletes one to one), and App (light/dark appearance, User manual, Settings), then Sign out.
Owner-relevant mobile behaviour
- Sessions tab — roster work on the go: check-ins, no-shows, confirming kiosk claims.
- Admin tab — Gym Stats; heavier admin (programming review, business analytics, staff, waivers) is better on desktop.
- Leads at phone width — the Leads drawer is sized to fit a phone screen, so working a lead from the floor is as usable as at a desk.
- Push notifications — class reminders, waitlist promotions, workout releases, messages and insights arrive as push; tapping deep-links to the right screen. Toggle in Account Settings; signing out deregisters the device.
- No in-app purchases — plans, packages, seats and drop-ins are bought on the web at metconiq.app; the app shows entitlements but sells nothing. This is deliberate store policy.
MetconIQ's AI features are built into the product, so there are no prompts to write. All AI runs server-side through a single service layer with validation and automatic retries. The rule across all of them is the AI drafts, people decide.
What your gym can generate
| Capability | Who triggers it | Requires |
|---|---|---|
| Group plan generation — a full month of periodized programming per group/track, saved as a draft for coach review. | Coach / Owner | Any gym plan, within its monthly allowance |
| Scaling-tier generation — RX, Scaled and RX+ variants for every workout, generated with the plan and regenerable per workout. | Automatic | Any gym plan, within its monthly allowance |
| Plan rescaling — adjusts the remaining unreleased month from live group RPE and RX-rate data: raise load, lower load, insert a deload, or hold. | Coach / Owner | Any gym plan, within its monthly allowance |
| Personal plan generation — an individual multi-week program from goals, schedule and equipment, for a member or for yourself. | Athlete (Pro+) or coach on their behalf | Athlete Pro+ plan, or the gym's own pool for staff |
| Gym layout analysis — floor-plan photo + equipment counts in, capacity and layout recommendations out. | Owner | Enterprise plan |
Monthly quota by gym plan
Group programming, personal plans generated by staff, rescales and scaling-tier generations all draw from your gym's own monthly pool (separate from any athlete's personal Pro/Elite allowance). The pool resets on the 1st. Personal-plan quota is measured in plan-weeks — a 12-week plan spends 12, a 4-week plan spends 4.
| Gym plan | Group plans / month | Personal plan-weeks / month | Rescales / month | Scaling-tier generations / month |
|---|---|---|---|---|
| Solo | 1 | 90 (+45 per extra seat block) | 10 | 20 |
| Starter | 4 | 220 | 20 | 60 |
| Growth | 8 | 490 | 30 | 120 |
| Enterprise | 12 | 871 | 40 | 250 |
Whiteboard photo scan
In the Log Personal WOD form, Take photo and Choose photo read a whiteboard and fill in the workout's title, description and score type. The athlete still enters their own score. Each scan uses one unit of a monthly allowance. On a Solo gym that is 60 scans a month, and on Starter 100. Staff and any athlete without their own Pro or Elite plan draw on that pool. Growth and Enterprise gyms have no gym scan pool. There, an athlete on a personal Pro or Elite plan scans from their own allowance of 31 a month, and the buttons are hidden for everyone else. Allowances reset on the 1st, Singapore time.
Access controls
- Plan, not a switch — group programming, scaling tiers and rescaling work on every gym plan, and there is no per-gym on/off. What differs by plan is the monthly allowance. Gym layout analysis is the one Enterprise-only capability.
- Generation quotas — metered per gym plan, resetting monthly. The UI shows your remaining allowance; hitting the ceiling disables the button until reset, never mid-generation.
- Background generation — plan generation runs asynchronously: kick it off, navigate away, and come back to the finished draft. If a generation stalls, it is detected automatically and marked failed.
MetconIQ's AI outputs are performance-coaching tools, not medical advice. Guardrails are enforced at three independent layers: the prompts, application code and the UI. The rules hold even if any single layer fails.
What the AI will never output
What always holds
- A sharp increase always gets a note. When an athlete's load ratio reaches 1.5, the weekly insight carries a note about it. If the generated text left one out, the application adds it.
- Coach authority. Insights and recommendations are advisory; you and your coaches see flags and can override any programming decision.
- Draft-first programming. Generated plans are drafts until a coach releases them; nothing generated reaches an athlete unreviewed.
Quotas & fair use
AI generation is metered per gym plan and per athlete plan, with monthly reset. Every generation is logged. If a quota is reached, the relevant button says so and shows when it resets — running generations are never cut off.
What changed for owners since v4.1. Newest first.
2026-10-11
- Access levels. On Staff, only Payroll and Packages are granted per coach. Every other page follows the coach's role. The old grid of toggles is gone.
- Removing a member now also cancels their upcoming bookings (punches refunded, waitlists move up) and ends a Stripe-billed membership at the end of the paid period, with nothing refunded. If Stripe refuses, a warning asks you to end the subscription in Stripe. The same happens on a scheduled deactivation date, when a member leaves, and when a coach is removed.
- Deactivate is no longer available to gym staff. It disables the whole account and is platform support only: use Remove. On Staff you cannot deactivate the owner or yourself.
- Editing a schedule now reaches its upcoming classes that have no bookings: time, duration, capacity and coach. Booked classes keep their values, and the save message says how many were updated and how many kept.
- Deleting a schedule with its future classes now notifies booked members (push and WhatsApp) and refunds punches and paid drop-ins, like cancelling a class.
- Payroll. Revenue % and Tiered % pay now use your gym's athlete revenue (tier MRR, or paying members × the per-athlete fee) divided by the month's classes. Cancelled classes are neither paid nor counted.
- Business dashboard is owner-only on the server too. A coach can no longer load it.
- Retention alerts. Members who joined in the last 3 weeks and members on hold are no longer flagged. The automatic "we miss you" message never fires for "No check-in" alone; that flag still shows on the Alerts page.
- Membership tiers. A member who pays through Stripe cannot be hand-assigned a different tier or cleared. Cancel their subscription first.
- Rejoining. A member who left or was removed cannot rejoin with the join code. Invite them again.
- Gyms with several tracks. Each athlete's Home shows their own track's workout: the track of the class they booked that day, else the track they last attended in the past 30 days, else your first track. An Also today row has a chip for each other track.
Everything added to the owner experience since the last manual. Newest first.
October 2026
- Setup guide. The admin home shows a setup guide for owners: athletes, class timetable, first workout, memberships and first score, plus an optional waiver step. Steps tick themselves, the guide finishes on its own, and you can hide it. See Setting up your gym.
- Waivers. Publishing is the only write, and each publish is a new version. Tick Material change to make everyone sign again. Athletes sign at joining and at first booking, and drop-in visitors sign at checkout. A signature records the version the person was shown. You can record a paper signature and print a signature record. MetconIQ supplies no waiver wording.
- Drop-in classes. Set a drop-in price in Settings and visitors pay for one class on a public page, through your connected Stripe account. A visitor takes no seat and is not a member. The spot is held for 15 minutes while they pay. Cancelling or deleting a class, or adding a closure, refunds paid drop-ins in full, automatically.
- Business dashboard definitions. MRR counts athletes and anyone on a tier, and leaves out members on hold. One churn definition now drives the Churn (30 days) tile, Projected MRR and the three-month chart. Est. LTV is revenue per member ÷ monthly churn. The no-show rate is no-shows ÷ (no-shows + attended), shows "—" when nothing is marked, and the dashboard names past classes nobody closed.
- Joining by gym code. New athletes are active at once. Gym Settings has no approval option.
- Gym Settings. A Gym profile panel for name, timezone and country. The country is fixed once Stripe is connected, because it sets your billing currency.
- Scores. Coaches and owners can log or edit a score for an athlete from the class roster. Staff see score details only for entries they made, and private results stay hidden from staff. Leaderboards rank athletes only.
- Coaching notes. Notes on a workout are staff-only, and the edit form now saves them.
- Retention wording. Load is described as below average, steady, building or sharp increase. The Training load rising flag needs a readiness check-in from the last 7 days. No check-in · 14+ days now fires for gym athletes; it was never raised for them before.
- Plan changes. Changing gym plan is done in place on the pricing page, prorated, and refused if you have more athletes than the smaller plan holds. Solo may buy one seat block.
- Packages and punch cards. Approving a package request issues the card. The punch card Adjust dialog shows the reason when an adjustment is refused.
- Corrections. Leads move by a stage menu, not by dragging. A tier's price change is Migrate existing members, with 14 days' notice. There is no per-gym AI on/off switch, and the manual no longer says there is.
2026-09-07
- Business dashboard: revenue per member and estimated lifetime value tiles, a billing attach rate line ("Billing: X of N on Stripe"), and a one-click bookkeeper CSV export of the whole dashboard.
- Membership tiers: assigning a member is now Stripe-first. Sending a payment link is the primary action, with billing externally as the secondary choice.
- Refunds on packages and drop-ins, issued from your Stripe dashboard, now reflect automatically in MetconIQ — the drop-in booking is cancelled, or the package's remaining credits are voided.
- Leads: assignment to a coach now works on every gym plan, not just Enterprise. Every lead keeps a full activity log and call history, follow-up dates trigger a push reminder to the assignee once overdue, and the funnel now reports set/show/close rates. The mobile Leads drawer now fits a phone screen.
- Gym Settings: a drop-in price field, and a WhatsApp card. Publish your number for member click-to-chat. Where MetconIQ has WhatsApp switched on for your gym, you can also send WhatsApp alerts for waitlist spots and cancellations, with a monthly allowance shown as "N of M this month".
- PayNow and GrabPay now appear automatically on Singapore one-time charges (drop-ins and card package purchases), wherever your connected Stripe account has them active.
- Gym Settings: schedule a closure to cancel every session in a date range automatically, with members notified and punch-card credit returned.
- Membership holds now show clearly in the app. A hold never suspends a member's account, and invoices for the frozen period are voided, not deferred.