The coach and gym owner guide
Running a gym, a team or a school program on iVenza, from the first athlete you add to the reports you read at the end of the month. If you are evaluating the platform, this is the honest version: it is what your staff would actually be handed on day one.
Getting started as a coach
Set up your gym or team and learn the coach tools
Getting started as a coach
The coach tools have their own home base. The bottom tabs are your map: Dashboard for a daily snapshot, Roster for your athletes, Library for your knowledge base, Org for your gym or team - every tool it has, grouped by the job, with a search box at the top - and More for everything else.
Start by creating your gym or team, then invite your athletes - or, if the gym you coach at is already on iVenza, ask them to add you to their staff rather than making a second one. Everything works offline and syncs to your account when you're online.
New here? The coach tour is a short lay of the land - one stop per tab - and you can replay it any time from More. Your getting-started checklist works in phases: Get set up, then Bring your people in, then Run the week. The card on your Dashboard shows the phase you are on and its next few steps ("Get set up: 1 of 3 done"), and the full list under More → Getting started keeps the later phases folded until you get there.
Screens teach themselves. The first time you open a screen after the tour, it runs its own short walkthrough - one walkthrough per launch, so they arrive as you go instead of all at once (if one is due and the app has already shown a walkthrough since you opened it, it waits for the next time you open the app). To see them again: on mobile, More and then Replay section walkthroughs; on the web, the Page tour button in a page's header.
You coach at a gym you don't own
This is for a coach who teaches at a gym, club, or team that someone else owns. You do not create a gym here - yours already exists, and making a second one splits your athletes across two records that never talk to each other. Everything below runs on your own account, so none of it waits on the owner.
First, make sure you are actually seated as a coach. An owner has to grant it, but you no longer have to wait to be offered: ask them from inside the app - "Join a gym that is already here" on your Org tab, or "Ask to coach here" on the gym's own page - and they get a request that says you want to coach, not train. That works even if you are already a member there, because a gym's ordinary join code only ever seats an athlete, so the ask lands on the membership you already have and an owner promotes you from your member record. See Asking to join a gym that's already here; check which gyms you are in under My gyms & teams.
Your setup checklist tracks the six steps below and ticks each one off by itself as you finish it. The first four are what make you bookable for private sessions. The last two are your teaching prep.
1. Turn on payments. Open Booking & payments and press "Connect Stripe". Stripe asks for your details, your tax ID, and the bank account you want paying. When it returns you, the panel should read "Active". This account is yours, not the gym's: money for your private sessions goes straight from the athlete to your bank, and we take a 1% iVenza platform fee on top of Stripe's processing rate (50 cent minimum on a small session price).
2. Switch bookings on. On the same screen, turn on "Accept bookings". Until that is on, nobody can book you no matter what else is set up.
3. Add what you sell. Under "Offerings", add each kind of session with a name, a length, and a price - a 60 minute private, a 30 minute technique session, a small-group hour. The minimum price is 50 cents, which is a card-network floor rather than ours. Free sessions are allowed and skip the card step entirely. Each offering also says how many people can book the same time: one person for a private session, a number for a small group, or unlimited for an open pass like a drop-in day, which anyone can buy and which never blocks your other bookings.
4. Open your times. Under "Weekly availability", add the windows you are free, per weekday. This is the step people miss: with payments live and an offering priced, you already appear bookable in search, but with no windows your calendar has nothing in it and everyone who taps through sees an empty list. Add your times before you share your link.
5. Block off what you already know. A day off, a tournament weekend, the dentist at 10: add it under "Blocked time" (a day, a range, or a few hours) and it comes off the booking page everywhere - the app, the web page, and your share link - without touching your weekly windows. It shows on your Calendar tab in gray. Athletes never see why; they see the time is not open.
6. Share your link, and say where you teach. Under "Your coach profile", press "Copy link" - in the app the same thing is "Share my booking link" and adds a QR code. One link works for anyone, with or without the app and with or without an account. While you are there, add the gyms you teach at under "Locations" and tick what you coach under "Specialties": that is what puts you in front of someone searching, rather than only people who already know your name.
7. Plan what you teach. Build lesson plans for your classes and share them with your athletes, and put the classes you actually run into your teaching schedule so they show up on your calendar and theirs.
What else you get at the gym: the roster and each athlete's training, attendance and check-in, the class timetable you teach from, messages and broadcasts, waivers, and documents. The gym's own tools sit on your Org tab.
What stays with the owner: membership prices and plans, adding or promoting other coaches, gym settings and the reply-to address, and anything that moves the gym's money. If a step ever looks impossible to finish, that is usually why - ask the owner rather than working around it.
The two sets of books never mix, on purpose. Gym dues belong to the gym, and a coach cannot see them unless the owner grants billing access to you specifically - a locked billing screen has a Request access button that asks them for exactly that. Your private sessions belong to you, and the gym cannot see those. Two Stripe accounts, two sets of numbers.
Athletes outside the gym can book you too - your booking page is public, and anyone searching Find a coach can reach it. Once private sessions are running, Bookings & events covers ticketed events and camps.
Prefer it on paper? The printable version of this walkthrough, with checkboxes, is at www.ivenza.app/coach-setup-guide.pdf
Your private clients, beside the gym
Many coaches are in two places at once: they coach at a gym, often one somebody else owns, and they train their own clients privately. Your Roster shows both. Gym members is everyone at the gyms you coach. My clients is the people who pay you directly, wherever they train, or at no gym at all.
You don't have to add anyone. A person shows up on My clients on their own when they book a session with you, buy one of your session packages, or you put them on your preapproved list. Each row shows their next session, how many credits are left on their package, and anything they still owe you. Clients you haven't seen in a month are flagged so you can check in.
To add someone who hasn't booked yet - the regular who pays you cash on the mat - tap "Add a client". Share your invite link, and whoever opens it and signs in becomes your client. Or invite someone from a gym you coach at: they get a request and choose whether to accept, and the gym isn't notified.
Becoming your client does not share their training with you. That is always their choice, from Your coaches on their phone, one category at a time. Once they share, their record fills in the same way a gym member's does. Either way, you can message them and assign them a workout or a multi-week program, even when you have no gym in common.
On the Gym members side, the Mine filter narrows the list to your private clients plus the regulars in the classes you teach, and a Private client badge marks anyone who trains with you both ways. Your dashboard's Your clients card sums it up: your next private session, who owes you, whose package is nearly used, and who has gone quiet.
Asking to join a gym that's already here
You coach at a gym, club, team or school that already uses iVenza? Do not create a second one - it splits your athletes across two records that never talk to each other. Ask them to add you instead: open your Org tab and press "Join a gym that is already here" (it sits next to Create, and it is the first card the app offers when you say you coach), search by name or near you, and press "Ask to coach here". The same button is on the gym's own page if you found them by browsing.
An owner has to say yes, and that is deliberate. A coach seat opens the whole roster, every member's contact details, their emergency and medical card, and - if an owner grants it - the gym's books, so a request to coach is never granted automatically, whatever a gym's join settings say. Nothing on your account changes while you wait, and you get a notification either way.
Invite-only gyms are worth asking. Nobody can walk into one as an athlete without being added first, but asking to work somewhere is a different thing and the owner still decides, so your request goes through.
While you wait, the request shows on your Org tab and under My gyms & teams with when you sent it, and "Never mind" takes it back. You can ask again any time, and the app stops nudging you to set up a gym of your own while you are waiting on somebody else's.
When they say yes, the gym is in your coach view straight away - the roster, the timetable you teach from, messages and broadcasts, waivers, documents - and your account becomes a coach account by itself if it was not one already. What you can open there depends on the seat you were given: see Who can open what: team access, then You coach at a gym you don't own for what to set up next.
Already train there as a member? Ask from the same place. The request lands on the membership you already have, so your dues, check-ins, belt history and everything else stay exactly as they are, and an owner makes you a coach from your member record. You never have to leave the gym and re-join to fix this - which is what used to be the only way.
Were you sent a join code? A single-use team invite from an owner seats you as staff directly: enter it under My gyms & teams. A gym's ordinary join code is the athlete one and only ever makes you a member, so if that is how you got in, ask to coach and an owner can seat you properly.
Not on iVenza yet? Both answers are on the same screen. "Create it" makes the gym and makes you its owner - see Creating your gym or team. "Ask them to join iVenza" sends a link so the owner sets it up and adds you, which is the better answer when the gym is theirs: if you create it and they sign up later, one gym ends up with two records.
Set up your gym: the full walkthrough
Nine steps, click by click, in the order that works. The first five end with money in your bank account; the rest make the gym easier to run. Your setup checklist ticks each one off by itself as you go, and words in quote marks below are printed on the screen exactly like that.
Before you start: whoever creates the gym is who gets paid. The account that creates it becomes the gym's owner record, and only that account can connect Stripe and turn on dues. If a coach or your front desk does step 1 but you hold the bank account, payouts cannot be switched on later without starting over.
1. Create your gym. Open Create a gym. Under "Type" choose "Gym / academy" (or "Team / program" for a school or club team) and type your name into "Name". Open "Sports" and tick every sport you teach - that choice decides what the whole app shows you, and leaving it blank defaults you to combat sports with belts and ranks. Add your city, state and country so local athletes can find you, then press "Create". Note the "Join code" on the page that follows; you need it in step 4.
2. Turn on payments. Open Booking & payments, find the "Payouts" panel and press "Connect Stripe / payouts". Stripe asks for your business details, your tax ID and the bank account you want money paid into, so have those to hand. When it returns you, check the panel reads "Payouts active" - that badge is the only confirmation that counts. Everything else hangs off this one connection: dues, paid bookings, tickets, payment links, class packs and the front-desk card reader. Money reaches your bank directly, and our fee is 1% on top of Stripe's own rate (50 cent minimum on a small one-time payment; dues are always a flat 1%). Not ready for cards? Skip it - everything else works and you can record cash dues by hand.
3. Add your membership plans. On your Org tab, under Money, open Membership & billing. In the "Plans" section fill in "Plan name", "Price" and "Billing" - "Monthly" or "Yearly" - then press "Add plan", and repeat for everything you sell. The minimum price is 50 cents, which is a card-network floor rather than ours. Price it the way you sell it: $150 a month is a monthly plan priced 150, not an annual figure divided up, so renewal dates and revenue reports read correctly. A "Set up online payments" banner on this page means step 2 did not finish.
4. Get your members in. Four ways, and you can mix them: share the "Join code" from your gym's page; press "Invite member" to send one person an email or text; import your roster if you are switching from another platform; or press "Invite team member" for coaches and staff, which you only see as the owner and which seats them with the right role. Do not put coaches through the member join code, it seats them as athletes. Approve people as they arrive from your roster under "Requests & invites". Do not wait for everyone - five or ten real members is enough to keep moving.
5. Put your first member on a plan. Membership & billing, then "Set up a member". Pick the person under "Member" or add them right there, choose their "Plan", then answer "How are they paying?". "Cash or check" starts the plan on the spot and needs no Stripe. "Card (send them their payment link)" sends a secure link they pay themselves, and is the one worth defaulting to because your staff never see or type a card number. You can also type a card in for someone standing at your desk, tap on a card reader, or comp a free membership that still counts as active in your numbers.
Already taking cash from someone you want on a card? Open their record, press "Set up card payments", and once they have saved one press "Start card billing". Billing anchors to the date they are already paid through, so the changeover month is never charged twice. Memberships & dues covers renewals, failed payments, freezes and promo codes.
6. Add your liability waiver. Org tab, then Waivers under People. Give it a "Title", then either type your terms into "Waiver text" or upload your own PDF and drag the signature, initial, name and date boxes onto the document itself. Leave it required so unsigned members surface on your dashboard, and for anyone not signed up yet copy the "Public signing link" and text it to them - they sign without an account. Editing a waiver bumps its version and re-collects signatures, so a change to your terms never leaves half your roster on the old wording. See Contracts, freezes & waivers.
7. Build your class timetable. Org tab, then Class schedule under Schedule & training. On a new gym the fastest route is "Build the timetable with AI": paste or photograph your existing schedule and check what it produces. Otherwise add each class by hand with "Class name", "Day", "Start time" and "Duration (min)". Set "Capacity (blank = unlimited)" on anything that fills up and the next athletes join a waitlist that promotes automatically when someone cancels. See Class reservations & check-in.
8. Set the address replies go to. Org tab, then Email reply-to under Settings, and put your gym's real inbox into "Reply-to address". Everything the gym sends goes out from our sending domain, so without this a member who hits Reply reaches a mailbox nobody reads.
9. Set up check-in. Either a coach marks the class off from "Class timetable" with the "Roll" button, or members check themselves in at a front-desk kiosk by QR code or PIN on a tablet or spare phone - set that up while online so the roster caches, and it keeps working if your Wi-Fi drops. You can also block past-due members or require a signed waiver at the door; both are off by default. The same rules apply when members check themselves in from the app, which shows them what to fix.
Then, at your own pace: import your old gym, or book white-glove onboarding and our team moves it for you. Build lesson plans, add your teaching schedule, and open Booking & payments again to sell private sessions. After a week of data your dashboard starts flagging who needs attention.
Prefer it on paper? The printable version of this walkthrough, with checkboxes, is at www.ivenza.app/gym-setup-guide.pdf
Creating your gym or team
Create a gym, club, school, or team from the Org tab. Pick the sports you coach and iVenza tailors the tools - belts and ranks for combat sports, positions for team sports. If the gym you coach at is already on iVenza, do not create a second record for it - ask them to add you instead: Asking to join a gym that's already here.
Invite athletes by sharing a join code or link, or add them yourself and send a download invite by email or text. Coaches and staff can be invited directly too - a single-use team invite seats them with the right role.
You can co-own a gym with other staff, and a deleted gym can be recovered for 30 days.
Coming from another platform? The import wizard moves your members and schedule over - see Switching to iVenza.
Who can open what: team access
Every working seat at a gym, club, or team is an owner, a coach, or staff. Owners can do everything. Coaches get every tool except the books unless an owner grants them Billing & payments. Staff - the front desk, the office, the bookkeeper - get exactly the areas an owner ticked for them, and never a member's training or health data.
Leads is a permission of its own. Turn it on for a staff seat and that person can open the pipeline, work every lead, and see and set follow-ups about leads. New seats made from the Front desk or Office manager preset start with it; seats you already set up keep exactly what they had. Lead forms, tours, texting from the gym number and the AI reply draft stay with owners and coaches.
If you open a tool and meet a lock, the screen says which area it needs. Press Request access, add a line about why if you like, and send it. Every owner is told. You get a notification back either way, and if the answer is yes the screen unlocks on its own. On the Org tab a folded Ask for access group lists every area you cannot open yet, so you can ask from there too. A request sent by mistake can be canceled from the same screen, and a declined one can be asked again the next day.
Owner-only areas - payroll, commissions, promo codes, locations, and the gym settings - have no request button, because no permission unlocks them.
Owners: a request shows up under Access requests on your Org tab and on that person's record, with what they asked for and their note. Grant adds that one area to their permissions; Decline tells them no. To change several areas at once, open their record and use Permissions.
SOPs & staff training
SOPs are your gym's step-by-step procedures: how you check people in, take cash, handle an injury, open and close. Write them down once in SOPs & staff training on the My gym tab, and every coach and front-desk hire learns your way of doing things instead of guessing.
You start with a library. iVenza comes with about 30 ready-made SOPs that walk through the app and the work around it: the front desk, memberships, payments, classes, leads, safety, opening, closing and cleaning, coaching, and bringing a new hire on board. Everyone on your team can read the library from day one, in their own language. Owners tap Add from the library to make any of them your gym's own: the starter set for your kind of gym is already ticked, and you can edit every word afterward.
To write your own, tap Write a SOP: a title, why and when it applies, numbered steps, and anything worth knowing. A step can link to the screen where it happens, so a new hire taps straight into Membership & billing or the kiosk. Choose who it is for (everyone on the team, coaches, or front desk & staff) and whether it is required training, and save it as a draft until it is ready. Never put alarm codes or passwords in a SOP.
Your team sees the required SOPs meant for their role under To learn, plus a card on their dashboard. They read each one and tap I've read this. When you change a SOP in a way that matters, turn on Ask the team to read it again and it shows as unread for everyone it is for; a small fix does not reset anyone.
Owners see who has learned what in Team training. Open any SOP to see each person's status, and tap Mark trained once you have watched someone do it on their own. Remind the team sends one notification to everyone who still has required training, at most once a day.
Owners write, edit and sign off SOPs. Coaches and staff read the ones meant for their role and record that they read them. A SOP for coaches only never reaches a front-desk phone, and one you move back to a draft disappears from your team's phones.
The audit log: who changed what
The audit log is the owner's record of what happened in your gym, club, team or school: who changed a price, a plan, a seat, a permission, the join code or the owner, who recorded a payment or started a refund, and who exported your members' contacts. Open it from your Org tab under Settings, then Audit log.
Only owners can open it. A coach or a staff seat does not see it, even one with Billing & payments, so the people an entry is about cannot read or tidy up their own trail.
Every entry says what happened, who did it, the seat they held at that moment, and when. A change also shows the before and after, like Price $100.00 to $120.00. A join code or a password is never written down; the entry only says it changed. If someone from iVenza support makes a change for you at your request, it appears as iVenza support, with no personal name.
Entries are grouped four ways. Access: who joined as staff, who was approved, declined or removed, role and permission changes, staff invites, access requests, the join code, who owns the organization. Money: plans and prices, memberships frozen or ended by a person, payments recorded by hand, refunds, sales, promo codes, packs, products, payroll, commission rules and payment links. Settings: waivers and automations. Exports: contact lists and audit log downloads.
What is not here: card payments that come in on their own (the payments list on Billing already has them), a routine athlete joining (it is on their member record under History), and anyone simply reading the log.
Use the chips to narrow by group and by time, search for a person, a plan or a word, or pick one person from Anyone. Load more goes further back.
Download CSV saves what you are looking at, up to 20,000 entries. Times are in UTC and the field names are the raw ones, so a spreadsheet or an auditor can filter it. The download is itself an entry in the log, and the file holds names and amounts, so keep it somewhere private.
Entries cannot be edited or deleted by anyone, and they stay for as long as the organization exists. The log starts the day your organization was updated to include it: the first line of the screen says when. Earlier changes are not in it.
Getting paid: your first dollar
Five steps, in this order, take a brand-new account to money in the bank. Your setup checklist tracks them and checks each one off by itself as you go.
1. Create your gym or team. Whoever creates it is the account payouts go to, so it should be whoever owns the business - see Creating your gym or team.
2. Turn on payments. Open Booking & payments and connect Stripe. This is the one step that gates everything else: dues, paid bookings, event tickets, payment links, class packs, and the front-desk card reader all run on that same connected account. Stripe asks for your business details and bank account, and payouts land there directly - iVenza only takes a 1% platform fee (50 cent minimum on a small one-time payment).
3. Add a membership plan. On your Org tab, under Money, open Membership & billing and add what you sell - unlimited, twice a week, kids - with the price and how often it bills.
4. Get members in. Share your join code or link, invite them by email or text, or import your existing roster if you're switching from another platform.
5. Put them on a plan. Members can enroll and pay from your gym page themselves, or you can start them from their member record - send a payment link to someone new, or set up card payments for someone already paying you in cash. Cash and bank transfers you take at the front desk can be recorded too, so your revenue numbers stay complete.
Not ready for card payments? Everything else still works - record dues manually and connect Stripe whenever you are.
Once you're running, Memberships & dues covers renewals, failed-payment chasing, freezes, and promo codes.
Want it click by click, with the exact buttons to press? Follow Set up your gym: the full walkthrough.
AI that works alongside you
iVenza's AI never sends anything on its own. Every helper drafts, summarizes or explains, and you review before anything goes out.
• On the dashboard, Draft for all writes a distinct note for everyone on the Needs Attention list in one go; review, untick anyone, and send. See Who needs attention.
• In your gym's text inbox, AI suggest reply drafts the next text on any thread - sales voice for a lead, service for a member - and Summarize catches you up on a long one. See Messaging your athletes.
• On an athlete's page, one tap reads every card that athlete shares with your gym and answers in a few sentences, with a suggested next step and a note ready to send. A category they kept private is never guessed at.
• On Reports, Revenue and Email delivery, Explain these numbers turns the tables into a plain-language read with next steps. Every figure in it appears on the screen. See Reports & insights.
• On Feedback, Find the themes groups survey responses with every name removed and quotes copied exactly. On Reputation, paste a public review and get a reply you post yourself.
• Wherever you describe something to members, a Write with AI box fills the form from a one-line brief: lesson plans, workout assignments, broadcasts and text blasts, campaigns, automation rules, offerings and class packs, member competitions, your gym's About section, the tour booking page, postcards, fight offers and the promotion announcement.
Some of these are part of the coaching plan. A seat that cannot see billing gets reads with no money in them, and the AI only ever sees what you can already see on that screen.
Roster & members
See who's training and who needs attention
Managing your roster
Your Roster shows everyone who trains with you, with how each athlete is progressing and what they share with you.
Tap an athlete to open their profile - training history, attendance, promotions, and any notes you keep.
Athletes choose what to share with you per category, so you only see what they've granted. Their name, picture and technique library are shared when they join; their training and health data only once they say yes, which the app asks them when they join and they can change any time.
Tags group people however your gym, club or team works - a squad, a program, an age group, a schedule. Add them on a member's record, or to several people at once from the roster. To rename, merge or delete a tag, use Manage tags on the Roster or Member tags in your gym tools: a rename also updates saved announcements, campaigns, scheduled texts and automation rules, and never sets off an automation. Renaming and deleting tags is for owners and coaches.
Select several people on the roster - Select people on the phone, the checkboxes on the web - then add or remove a tag, message them, set a follow-up with each, or export them. Export also works on the whole list you are looking at; emails and phone numbers are included only for gyms you own or coach.
A member's record shows their follow-ups and their history: notes and logged calls, texts and meetings, what the gym sent them (texts, emails and whether they were delivered, and announcements), your own direct messages with them, and changes to their membership. Notes and logged contacts are staff only, and the gym's texts and emails show to owners and coaches.
Parents asking how to sign their kids up? A child does not get their own account - under 13 they cannot have one. The parent opens Family from their own More tab, taps Add child, then opens the child and enters your join code, and the child lands on your roster. You can also do it for them: open the member from Members & roles and use Add a child on their Family card, which creates the child under that parent and puts them on the roster in one step. That works once the parent is on your roster and has claimed their own account. Send them [article:family-accounts] and it walks them through it.
Belts, stripes & promotions
Record a promotion from an athlete's profile on your Roster: open them and tap Record promotion. Pick the discipline, and the belt they are getting is already selected for you - the next stripe, or the next belt once their stripes are full. Change it with one tap if the suggestion is wrong.
Your roster shows each member's current belt right on their tile - the belt drawn with its stripes, and the discipline named when they train more than one - so you can see where everyone stands without opening them.
Belts are picked by sight. Every belt is drawn the way it looks on the mat, with the stripes on the bar, and a preview at the top shows exactly what you are about to award.
Brazilian Jiu-Jitsu has two belt systems, and both are built in. Adult belts: White, Blue, Purple, Brown and Black. Kids belts, for ages 4 to 15: White, Gray/White, Gray, Gray/Black, Yellow/White, Yellow, Yellow/Black, Orange/White, Orange, Orange/Black, Green/White, Green and Green/Black. Switch between Adult belts and Kids belts at the top of the belt list. After the first promotion the app remembers which one an athlete is on.
Every belt carries up to four stripes. A black belt's stripes are degrees, up to six. When a kid tops out at Green/Black, the next belt suggested is adult Blue, so their history stays one timeline from their first stripe to their black belt.
Promoting a whole class at once? Use Record promotions from your gym tools on the Org tab: check off everyone, and each athlete gets their own next belt on their own ladder, kids and adults side by side. One announcement goes out for the whole ceremony.
Your gym does it differently? Tap Edit ladder to rename, reorder or add belts, or change how many stripes each belt takes. The kids and adult ladders are edited separately. Past promotions are never changed.
Promotion criteria tell you when someone is ready: classes since their last promotion and months on their belt, for the next stripe and for the next belt, plus an optional technique requirement. Set the gym's criteria from Promotion criteria in your gym tools; they apply to everyone. An athlete who needs a different bar gets their own: open them, and on the Rank card tap Set criteria just for them. Theirs replace the gym's for that athlete alone, it starts from the gym's numbers so you only change what differs, and Use the gym's criteria puts them back. Athletes see none of this until you turn on Show progress to athletes in the criteria (it is off by default); then each sees their own progress on the gym page. Coaches get a heads-up when someone meets every requirement. The criteria are a guide, not a gate: you can still promote anyone, any time, ready or not. On the web, the gym's criteria are under Promotion criteria in your gym tools, and an athlete's own are on the Rank & promotions card of their member record.
Announcing a promotion notifies everyone at your gym, so it is off unless you turn it on, and even then the app shows you the exact message and asks you to confirm before anything is sent. Choose Record quietly to save the promotion without telling anyone. The one-tap Promote on a ready athlete and a belt-test Pass record quietly too; pick Promote and announce (or Pass and announce) when you want the gym to hear.
Every promotion is kept. On an athlete's profile the Rank card shows how long they have been on their current belt; tap See full belt history for the whole picture, one discipline at a time: their belt now, time on it and since the last promotion, belts and stripes earned, the average time per belt, the belt journey (each belt with the dates they held it and how long), and every entry with who awarded it and how long after the one before. Recorded something wrong? Tap the promotion, on the Rank card or in the belt history, to fix the belt, stripes, date or note, then tap Save changes. Delete promotion is at the bottom of the same screen, and a long-press offers both. A correction never sends another announcement, and deleting their latest promotion puts them back on the belt before it. On the web, use Edit or Delete under the entry in the belt history on their member record.
Parents see their child's belt and stripes on the child's page in Family, and athletes see theirs on their gym page. Both can open the same belt history.
Who needs attention
The dashboard surfaces athletes who may need a nudge - quiet for a while, a missed check-in, a past-due payment, a lapsing membership, or an unsigned waiver.
You set the rules: choose the day thresholds and which signals count from your gym settings.
Each athlete comes with a one-tap action tuned to the reason - a win-back note, a payment reminder, a renewal nudge, or a waiver reminder. Reach all the quiet ones at once with a win-back broadcast.
With two or more athletes listed, Draft for all writes a note for each in one go - review, untick anyone, and send. On an athlete's own page, one tap gives a few-sentence brief with a suggested next step. See AI that works alongside you.
An athlete who logs an injury with Let my coach know on shows up here too, until they clear it or you mark it handled - see Team wellness and injuries.
Team wellness and injuries
Your athletes can answer five quick questions a day - sleep, energy, soreness, mood and stress - plus any pain and where, and keep an injury log with a return-to-play status: Out, Modified training or Cleared. Team wellness turns that into one board for the gyms and teams you coach.
It sorts your athletes into Injured (out or on modified training right now), Could use an easier day (low readiness, or something they flagged, like poor sleep or pain), Hasn't answered recently, and All good. Each row shows the athlete's readiness from 0 to 100, what they flagged, where it hurts and their injury status. Tap a row to open that athlete's page.
The board counts answers from today and yesterday, since an athlete may be in a different time zone. Pull down to refresh.
You only see what an athlete shares. Their answers and injuries reach you while How you feel & injuries is on in their sharing settings for your gym. It is off until they turn it on - the app asks each athlete when they join - and it is their call. Anyone who does not share it is left off the board rather than listed as not answering, and the board tells you how many.
On an athlete's page, How they feel shows today's or yesterday's answers, the last 14 days with their average feel score, and each injury with how long it has lasted and its history. You can read their injury log, not edit it.
When an athlete logs an injury with Let my coach know on, it also lands on your list of who needs attention, whether or not they share the rest. Mark handled takes it off your list and leaves their log alone; when they clear the injury, it comes off by itself.
The readiness card on your dashboard folds in each athlete's latest answers, counts who is injured, and opens the full board from See team wellness. A program's progress screen shows the same feel score and injury beside each athlete's adherence - see Programs for your athletes.
Everything here is what athletes report about themselves, not a medical assessment.
Where your athletes are competing
Athletes competing is one board for every event your athletes are going to: the competitions you posted (with their RSVPs), the events they entered on their own, and the fight cards they are confirmed on. An athlete's own entries reach you through the Competitions & camps sharing they already grant your gym.
By event, each card names who is going and flags No coach yet when athletes are going and nobody from the staff is. Tap I'm going, or assign a colleague - they are told who put them down, and the athletes who are in hear that a coach is coming. Use Needs a coach to see only the gaps, and switch to By athlete to see where one person is competing this season.
An event an athlete entered on their own has nothing for you to mark yet; Add to the schedule posts it on your gym's competition schedule so the rest of the team can RSVP and you can cover it. When an athlete enters a new event, you get a notification pointing at their record.
The same events show on your Calendar and on each athlete's record, and the dashboard card keeps the next few in view.
Classes & schedule
Build your timetable and manage reservations
Teaching schedule
Build your weekly timetable of classes, privates, and pad work on your teaching schedule, then sync it to your device calendar or share an .ics link.
Setting up the timetable for the first time? Do not type it all in - tap Import a schedule (the + button on your gym's class list, or the AI card on the web console), then upload a photo of your schedule board, a PDF, or paste your schedule as text. We turn it into classes you review and edit before saving, and skip anything already on your timetable.
Each class carries a discipline picked from your gym's sports (or the full iVenza catalog, or your own wording) and a coach picked from your staff - so the class is linked to that coach's account, not just their name.
Assign a coach to each class, and set a one-off cover or cancellation for a single date without touching the whole series.
Your Calendar tab pulls everything into one month view - your teaching schedule, paid bookings, classes you're covering, and your gym's events - with quick add for one-off or recurring sessions.
Not sure what a dot means? Tap the key under the month. It lists one row per color actually on that month and names what is behind each one, with a count - so it is always the answer for the month you are looking at, and it can never fall out of step with the grid.
Your own time reads like this: blue is a teaching session you run, pink is a class you are assigned to or covering (the same pink an athlete sees for a class they reserved), a blue-gray dot is a session someone booked with you (their side shows it too), and a light gray dot is time you blocked off so nobody can book it.
Everything with a date of its own: amber for a competition on your schedule, green for an event an athlete entered themselves or a card they are confirmed on, red for a fight card, teal for a belt test, indigo for a ticketed event. A camp tints its whole run of days purple instead of adding a dot, so you can see the block at a glance.
A day only has room for so many dots, so a busy one shows three and a count of the rest, like +2. Tap the day to see everything on it.
The button in the calendar header opens Athletes competing: every event your athletes are on, in one list - the ones you posted, the ones they entered themselves, and the cards they are confirmed on. It used to sit inside the + button, which a promotion or scouting calendar does not have, so it moved to the header, which every calendar has.
Athletes see the schedule and can RSVP to the classes you open up - see Class reservations & check-in.
Practices, games and who's coming
For a team, every practice on your weekly schedule carries Going, Maybe and Can't for the next two weeks. Open a practice to see who is coming, who is not and who has not answered, with their notes.
Ask the team sends a "Can you make practice?" notification to every athlete who has not answered. It never asks twice within a few hours, and never about a canceled practice.
Post a game on the team's competition schedule: switch to Game and add the opponent, home or away and the start time. Athletes answer Going, Maybe or Can't, and you can ask the ones who have not.
After the game, enter the final score. Athletes add their own stat line, sized to your sport, and the box score on the game adds them up. You see an athlete's line when they share their competitions with your gym.
Who's coming on your dashboard shows the next practice or game in the coming week and how many have answered.
Testing days
Run a combine, a preseason test day or a monthly check-in from Testing days in your gym tools under your gym. Pick the tests - jumps, sprints, agility, lifts, conditioning or your own - in the order you run the stations.
On the day, open it and enter results on the grid: pick a test, type each athlete's result and press return to move to the next. Each row shows the athlete's previous best and flags a new one, and it keeps working with no signal once the roster has loaded.
Athletes can enter their own results for the day too. What you record is marked coach-recorded and the athlete cannot change it.
Every test has a leaderboard for the day and the team's best ever, and each athlete's bests show on their record in your roster.
Class reservations & check-in
Turn on reservations for a class from your teaching schedule to cap attendance. When a class fills, the next athletes join a waitlist and are promoted automatically as spots open.
Front-desk check-in lets members sign in with a QR code or PIN, and you can require a signed waiver or block past-due members at the door. The same rules apply when members check in from the app.
Reservations feed attendance, so your reports and who-needs-attention signals stay accurate without extra work.
Front-desk kiosk mode
Kiosk mode turns a tablet or spare phone at the front desk into a self-serve check-in station. Members find their name, scan their personal QR code, or type their PIN, and the device stays locked to that screen so nobody wanders into your roster or billing.
Set one up from Kiosk mode (also under Settings on your gym’s Org tab): pick the gym the station checks members in for, then choose an exit PIN. Do it while you are online so the roster caches to the device - check-in keeps working if the Wi-Fi drops.
To leave kiosk mode, tap "Exit kiosk" at the bottom of the screen and enter that PIN. It is on every kiosk screen, and it is the only way out - which is the point. The PIN is what stops a member tapping through to the rest of your gym.
Lost the PIN? Open Kiosk mode on another device you are signed in on, find the station in the list and tap "Reset this station". It leaves kiosk mode the next time it connects, without the PIN. Only a gym owner, or whoever set that station up, can do it - and if the station is offline or signed out it will not hear the request, which leaves reinstalling the app as the last resort.
Kiosk mode locks the app, not the device. For a station left unattended, turn on Guided Access (iOS) or screen pinning (Android) before you hand it over.
Staff can clock in and out from the same station, and you can block check-in for past-due members or anyone with an unsigned waiver. Both are off by default. The same rules apply when members check themselves in from the app, where they can pay or sign right away.
Lesson plans & assignments
Plan classes and assign work to athletes
Lesson plans
Build a lesson plan with techniques, drills, and notes, then share it with an athlete, a group, or your whole team. They get a notification and can open it from their inbox.
Short on time? Describe the class or snap a photo of your whiteboard and let AI draft the plan for you to edit.
Add a date, time, skill level, and duration so a plan doubles as a class on the calendar.
Workout assignments
Your workouts live on the Workouts tab of your Library, beside your techniques - build one there, or start from our ready-made library.
Open a workout and tap "Assign to athletes" to send it to one athlete, a group, or a whole team. You can also build one from scratch, or from a photo of a whiteboard.
Assigned workouts shows everything you have sent, split into past due, in progress and finished, with how many of the athletes it went to have logged it. Open one to see each athlete by name.
Open any athlete from your roster to see what you have already assigned them and whether they logged it, so you are not sending the same session twice.
Assignments pair well with lesson plans: plan the class, then assign the homework.
A set can be a weight or a % of each athlete's max, so everyone sees their own number worked out from lifts they have logged. Planning weeks rather than one workout? Write it once as a program and every workout lands on its day.
Programs for your athletes
A program is weeks of workouts you write once - a preseason block, an off-season strength cycle, a 5K build - and send to athletes, a whole team or a group with a start date. Every workout then lands on each athlete's Today card and calendar on its day, so they open the app and it says what to do.
Build it in Programs from More: tap New program, set a name and a length in weeks, then add workouts day by day - lifting, conditioning, runs or skill work written as exercises. Start a day from My workouts or the Library, or from scratch. The days you leave empty are rest days.
Write each set as a weight, or as a % of max. A percent set shows every athlete their own number, worked out from lifts they have logged, so 75% of max can be 185 lb for one athlete and 135 lb for another. Someone who has never logged that lift sees the percent and a note to log it once.
Copy week repeats a week in every later week you pick, with an optional progression that adds points to each % of max load for every week further out. Remove week deletes a week and moves the later ones up.
Tap Assign and pick who gets it: athletes from the gyms and teams you coach, a Whole team, or a group - or Just me to run it yourself. Picking individual athletes needs a connection; teams and groups work offline. Week 1 is the Monday-to-Sunday week that holds the start date. Before you send it, the preview says how many workouts land on each calendar, how many week-1 days fall before the start date and are skipped, and warns you when an athlete would get every workout twice because you also picked their team.
Each athlete gets one notification for the whole program, never one per workout, and you are not pinged each time a workout is logged either. Progress lives on the program instead: open a run from the program's Assigned list, or from the Programs card on an athlete's page, to see what each athlete has done, skipped or missed and what is still to come. Where an athlete shares how they feel with your gym, their latest feel score and any active injury sit beside it. Someone who joins the team later picks up the workouts still ahead, and the days before they joined do not count against them.
Changed the program after sending it? Athletes keep the version they were sent until you tap Update athletes on this program. That changes only workouts from today on that have not been done; past and finished workouts stay exactly as they were.
End program takes a run's unfinished workouts from today on off every calendar and keeps everything already done. Deleting the program asks whether to keep the athletes on it or end it for everyone. Programs work the same way on the web. For a single workout rather than a block, use workout assignments.
Reviewing athlete film
The Film review hub collects every clip your athletes share with the gym, plus any clip you were personally invited to review - including private ones from athletes who do not train at your gym.
Open a clip and leave notes pinned to exact moments - the athlete is notified and can reply in a thread right on the timestamp, so corrections stay attached to the footage.
Slow the clip to 0.25x or 0.5x, step frame by frame, and pin a segment so the athlete can loop the exact seconds you mean. Draw over the paused frame - the arrow or circle rides your note and replays for the athlete when they tap it. Poster frames in the hub make the clip you are looking for easy to spot.
Mark a correction "work on this" and tag it with the technique. The athlete taps "Got it" when they have taken it in and can turn it into a goal in one tap; the hub and their card show how many corrections are still open, and the clip shows who has looked at it and what is new since you did.
Leave a voice note on a moment - hold the mic and talk; the athlete hears you, and it becomes text when transcription is on. Keep the corrections you give often as saved phrases, one tap above the composer. Share game film with the whole team when the lesson is for everyone. A submission that has waited three days without a note nudges you once, so nothing sits unseen. Compare two clips side by side, and the film form no longer offers a teammate who has not claimed their account yet, since film could never reach them.
Send film the other way too: share a clip with one athlete - upload your own, or paste or search a YouTube video - as homework before practice or to study an opponent.
A busy inbox stays manageable: search by the athlete's name, the clip title, the event, or anything written in the notes, and use the chips - To review, New notes, Open corrections, Reviewed, Sent, Archived - each with a count. Archive a clip you have finished with from its ... menu (on the web, its Archive button): it leaves your inbox only (the athlete still sees it), and it comes back on its own when the athlete replies. Filter to Reviewed and Archive these clears everything you have already answered at once.
An athlete's film also shows on their profile card, so you can review from the roster while planning their next session.
Messaging & broadcasts
Chat with athletes and send announcements
Messaging your athletes
Chat one-on-one with an athlete or in a team conversation. Messages sync in real time and arrive as push notifications.
Athletes can reply to a broadcast and reach one coach or the whole coaching team.
For one-to-many announcements, use broadcasts instead - in-app, email, and push at once.
In your gym's text inbox, AI suggest reply drafts the next text on any thread - sales voice for a lead, service for an existing member, never a pitch for a plan they already hold - and Summarize catches you up on a long one. You always send. See AI that works alongside you.
Broadcasts & announcements
Send a broadcast to your whole gym or a tagged group from your Org tab - a schedule change, an event, or a reminder - over in-app, email, and push at once.
Win-back broadcasts target only the athletes who have gone quiet, so an active member never gets a 'we miss you' note.
Running a longer sequence - welcome drips, birthdays, win-back journeys? That's campaigns.
Who your promo texts reach
A promotional text - a bulk text, a campaign step or an automation - only reaches people who said yes to offers by text from your gym, and never anyone who replied STOP.
Your members are asked when they join: on your gym's page, after buying a plan, or the next time they open the app. Leads say yes on your trial, tour and try-a-class forms. Nobody can be opted in for them - not by you, and not by joining or paying. A member who already said yes is covered the moment they join your gym, unless they turn your gym off.
The texting screen counts it for you: "Reaches 12 of 40 members" is exactly how many this text will reach. To grow that number, ask members in person to tap Yes in the app.
Account texts - class reminders, dues notices, waiver links - don't need a yes and keep going to everyone with a number.
Memberships & billing
Dues, contracts, freezes, and renewals
Memberships & dues
Sell recurring memberships paid by card through Stripe, or record manual and out-of-band payments yourself - it all lives on your Org tab, under Money, then Membership & billing.
Signing someone up is one place: Set up a member. Pick the person - or add them right there if they are new - choose their plan, and say how they are paying. That is the whole job, and it is the fastest way to get your first member paying.
Cash or check records the payment and starts their plan on the spot, with the renewal date worked out from the plan. Nothing needs Stripe, so this works before your payouts are connected.
Card hands them their own payment link - they sign in as themselves and pay the first period straight away. Staff never see or type a card number, which is what keeps your gym out of PCI scope.
Comp gives a free membership that still counts as active in your numbers.
Recorded a payment by mistake? Undo it on the payment row itself: find it under Payment history on the member's record, or in the gym's payment list, and choose Refund. A cash or check payment is reversed on your books only - no money moves, so hand the cash back yourself. That is also how you switch a payment from cash to card: reverse the cash, then take the card as usual. A card payment goes back to the card through Stripe, in full or in part, and your platform fee comes back with it. Refunded payments stay on the list with a refunded note, and your revenue numbers net them out automatically.
Just recorded a cash payment? The member shows "Just recorded" in the billing list until it appears on their record, and recording another one for them asks you first, so the same payment is not entered twice.
Already paying you in cash, or switching over from another system? Open the member's record and use Set up card payments. They get a secure Stripe page to save a card, and once they have, you tap Start card billing. The subscription is anchored to the date they are already paid through, so the changeover month is never charged twice - which is also why that option only appears once they are on a plan with a renewal date in the future.
A front-desk staff seat can send the payment link, but not set up card payments - that one stays with owners and coaches.
Automatic reminders work on both sides of the charge: members are warned a few days before their dues come out, so a payment is never a surprise, and dunning chases them if a card then fails. Set the days, or switch either off, under Payment reminders in the Settings group of your Org tab. When a card fails, the member hears right away, and the message names the date Stripe will retry whenever Stripe gives one. If Stripe runs out of retries, they are told again whether the plan was canceled or left unpaid, and you are told too.
Promo codes let you run a discount or a free trial at sign-up.
Sell class packs too: a punch card of classes with an optional expiry - the front desk burns a credit per visit and the member always sees their balance.
Need to pause someone? Freezes and holds stop billing while they're away.
A plan marked Anyone can be bought straight from your gym's page by anyone who finds it, and buying it makes them a member - no approval step, whatever your join policy says. Keep a negotiated rate on Staff only and enroll people on it yourself.
Family plans: one payment for a household
A family used to need one membership each, which meant one charge each - four people, four payments leaving the same card every month. A family plan replaces that with a single payment covering everyone in the household, while each person keeps their own membership, attendance, waivers and progress.
Set the price for the whole household, not per person. Open Membership and billing, tap New plan, name it something like "Family (up to 4)", and under "Who does this cover?" choose A household. Then say how many people it covers. The price you enter is what the family pays in total.
Now start the membership for ONE person in the family, exactly as you would for anyone else - card, cash, or comped. That person is the billed member and their payment covers the household. Tap them in the members list and choose Set up a family plan, name the family, and pick who else it covers.
Adding someone later is free and instant. Open the family plan, tap Add someone, and pick them. Nothing is charged, no proration, no card details - the plan already covers up to the number you set, so there is nothing to collect. When the plan is full the button tells you so and points you at moving the family to a larger plan.
Taking someone off ends their membership that day and leaves the family price alone. If they should pay less, move the family to a smaller plan afterwards. The one person you cannot remove is the billed member, because the payment is attached to them: move the billing to somebody else first, or end the family plan.
Someone who already pays for themselves can be rolled in rather than canceled and re-added. Open the family plan, tap Add someone, and pick them. If they pay cash or are comped, it converts on the spot with nothing charged. If they pay by card, their card membership is ended first and the family plan takes over from that moment, so they are never charged twice. The rest of that month is not refunded automatically, so refund it from their billing if you want to.
The bill can move to another adult on the plan without touching the card or Stripe. Open the family plan, tap the person who should pay, and choose Move billing here. The plan, the price and the payment stay exactly the same - only whose membership the bill sits under changes, so the right name is on the receipts.
Every member's record shows the family around them. Open a member from Members & roles and the Family card lists the family plan with everyone covered and who pays, the parent behind a child's profile, and their own children at your gym - and each row opens that person, so the front desk answers "who pays for this kid?" in one tap.
That same Family card is where you add a child for a parent: tap Add a child, type their name, and the child gets a profile under that parent and a spot on the roster in one step - ready to cover on the family plan or check in. Parents can add their own kids too, and a parent who is already a member has them join on the spot instead of waiting in the approval queue.
If the family's payment is canceled or their card finally fails, everyone on the plan comes off together. That is deliberate - it stops three people looking paid when nobody is paying. Set the family up again to put them back on.
Your front desk can see who is covered without being able to see any money. A covered member's row says who is paying instead of showing a price, and their own app says "You're covered" instead of offering them a membership to buy.
Families: paying once, and booking the kids
If your gym offers a family plan, one payment covers your whole household. Everyone still keeps their own membership, attendance, waivers and progress - only the bill is shared.
Start the membership for yourself the usual way, on the family plan. Then open the membership again and choose Add your family to this plan, and pick your children. Nothing extra is charged when you add them: the plan already covers up to the number your gym set.
You can add your own children yourself. Another adult has to be added by the gym, so that they can agree to it first - that is deliberate, because being covered means somebody else controls what you are charged.
Your child has to be at the gym before they can be covered - and you can do all of it from the family plan screen now. A child who is not at the gym yet gets an Ask to join button right there, and Add a child creates their profile and asks the gym in one step. If the gym approves joins by hand, the row says it is waiting until they do.
Once your family is on the plan you can book a class for them: open the class list and choose Book for family. If the class is short of spots, the people who fit are booked in and the rest go on the waitlist, and the app tells you which is which.
If your gym prices the plan per person, adding somebody changes what you pay. The difference lands on your next invoice - nothing is charged at the moment you add them.
Contracts, freezes & waivers
Have members sign a membership contract or a liability waiver - manage both from your Org tab. Write the waiver in the app, or upload your own waiver PDF and place the boxes right on the document (drag them into place on the web console).
Box types cover what a real waiver asks for: Signature, Initials for each "______" slot, Full name, Date, and Text for something the member types, like a date of birth or an emergency contact. A Text box can prefill from their profile and can be made required, so nobody signs a half-finished form.
If your waiver has an "If Minor" section, switch "Placing into" to Parent / guardian before adding those boxes. The parent signs for the child: their signature and initials fill both blocks, participant name boxes show the child, and the guardian section stays blank when an adult signs for themselves.
Members sign the actual document - in the app, on the web, or through a login-free signing link you can text - and each signer gets a stamped signed copy. Replacing or editing the waiver bumps its version, so re-signatures are collected automatically.
Freeze or hold a membership when an athlete travels or gets injured, then resume it when they're back - billing pauses while frozen.
Unsigned required waivers surface on your dashboard - see Who needs attention.
Leads & sign-ups
Capture prospects, follow up, and turn them into members
Leads & your pipeline
Every prospect lands in your leads pipeline on the Org tab, grouped by stage from first contact to signed up. When someone who is already an open lead fills in your web form or books a tour again, it is added to that lead instead of making a second one.
Search by name, email, phone or tag; filter by stage, source, owner, tag, or no contact in 3+ days; sort by recent activity, newest, name, or the trial ending soonest; and export exactly what you see to a spreadsheet.
Open a lead to work it. Give it an owner and tags. In the phone app, Call, Text and Email open your phone's own dialer, messages or mail and add the contact to the lead's history - then tap how it went: reached, left a message, no answer, booked a visit, or not interested. Log a meeting the same way. On the web you log each contact yourself, with how it went.
Set a follow-up for the next step and it reminds whoever owns it when it is due. A lead that goes 3 days with no contact and nothing scheduled sends one nudge, to its owner, or to the team when no one owns it.
A card warns you when a lead looks like one you already have (the same email, phone or name). Merge moves the notes, calls, texts, visits and follow-ups onto the lead you keep, fills in its blanks, combines the tags and removes the other one. Merging needs a connection and cannot be undone, and a lead that already became a member can only be the one you keep.
Marking a lead lost asks why - price, schedule, too far, chose somewhere else, stopped replying, not ready yet, or other - so you can see later what gets in the way. Converting one hands you your join code to share, so they can finish signing up in the app.
Let AI draft the next text or email from a lead's history and suggest when to move them forward - you review and send.
A staff seat works leads only when an owner turns on Leads for it: see Who can open what. Fill the top of the funnel with lead forms and tours, and convert with campaigns.
Follow-ups and reminders
A follow-up is a dated to-do for your staff: a call, a text, an email, a meeting, or anything else that needs doing by a day you pick, and at a time if it matters. It can be about a lead, a member, or nothing in particular, and it has an owner - the person who is on it.
Find them under Follow-ups in your gym tools on the Org tab and in More, and on the dashboard card that counts what is overdue and due today. Mine is what is assigned to you, plus anything you wrote and did not hand to anyone. Team is every follow-up you can see, whoever has it.
Add one from the list, or from the Follow-ups card on a lead or on a member's record, where quick chips set one for today, tomorrow, in two days, or next week. Tap a follow-up to mark it done, push it back, edit it, hand it to a teammate, or open the person it is about. A follow-up that is no longer needed can be closed without deleting it.
Reminders go to whoever owns it: one message each morning around 8 with everything due today and overdue, by push and email; a ping at its time for one that has a time; and a heads-up whenever someone hands you one. When two of you mark the same follow-up, the later one wins, and a phone that was offline cannot reopen one somebody else already finished.
Who sees a follow-up follows what it is about. One about a lead needs the Leads permission, one about a member needs Members, and one about nothing is seen by your owners and coaches and by the person it is assigned to. Only someone who can see it can be given it. Choose Just me under Who can see it and it is yours alone - which is also how you keep one about a private client.
Automations can add follow-ups for you, for example a call the day after a new lead comes in: see Email & SMS campaigns.
Lead forms & tours
Publish a web lead form so prospects can reach you from anywhere, and let them book a gym tour on times you set - both from your Org tab.
Booked tours flow straight into your pipeline with an automatic confirmation and reminder.
Every submission becomes a lead - work it from your pipeline.
Free first classes and drop-ins online
Turn visitors into members without typing anything. In your gym tools under your gym, open Drop-ins & class packs and the Visit page card: switch on a free first class, or turn on Sell online for any drop-in or class pack.
Share the link from the card. A visitor picks a class in the next two weeks, books the free class or pays by card, and lands on that class's list and in your leads, and you get a notification. Paying makes them a member; a free class leaves a join request for you to approve.
Card sales go to your own Stripe account at the price you set, with the usual fees. Sell online needs payments set up and a price of at least 50 cents.
Online visits lists every booking and sale. Only the gym's owner changes the visit page settings.
Payments & commerce
Bookings, events, payment links, and your pro shop
What iVenza costs you
Two fees come out of every card payment before it reaches your bank, and they are charged by different people. Stripe takes a processing fee for running the card. iVenza takes 1%, with a 50 cent minimum on a one-time payment where 1% would come out lower (a recurring membership is always a flat 1%, no minimum - Stripe does not support one on a subscription). There is no monthly software bill on top of that and nothing to pay separately - both are deducted automatically as each payment is made.
The member is charged exactly the price you set. Neither fee is added to what they pay; both come out of your side.
On a $150 membership paid in the app, Stripe takes $4.65 (2.9% plus 30 cents) and iVenza takes $1.50, so $143.85 reaches you. That is 4.1% all in. Taken on a card reader at the front desk it costs less, because Stripe charges less for a card-present payment: $144.40 on the same $150.
Open Fees and payouts to run that calculation on your own prices. The same figure appears under the price whenever you add or edit a membership plan.
• Cash and check dues you record by hand carry no fee at all.
• Comped memberships, and anything priced at zero, carry no fee.
• A family plan is charged once, on the payment, not once per person covered.
• Refund a payment and our fee comes back with it - whether that was 1% or the 50 cent minimum. Stripe does not return its processing fee on a refund, which is Stripe's policy rather than ours.
Cheap items cost proportionally more, because Stripe's 30 cents (and our own 50 cent minimum, on a one-time payment) is flat no matter the amount. On a $5 drop-in the fees come to 19% of the payment, and the plan editor warns you when you price something in that range.
Stripe sets its own rates and can change them, and an international card or a currency conversion will differ. The full schedule, covering every kind of payment, is published at ivenza.app/pricing and forms part of our terms.
Drop-ins & day passes
A drop-in is a day pass: one visit, sold at the door. Set one up under Drop-ins & class packs on your Org tab - name it, price it, and say how long it stays valid (one day is the default).
It is the same thing as a class pack, just with a single visit on it, so it shows up in the same place and tracks the same way. A 10-class card and a $25 day rate sit side by side under what you sell.
Selling one is two taps: choose Sell a drop-in, then say who it is for. If they are a visitor from another gym and not on your roster, pick New visitor and type their name - we add them to the roster so the visit is on record, and they get no login until they claim the profile themselves.
Take an email too if they will give you one. It costs nothing at the desk and it is what lets you invite them to join later.
When they train, open their balance and use the visit. The pass is then spent, and if it lapsed unused it shows as expired rather than quietly staying open.
Want to sell day passes online instead of at the desk? Create a payment link for the day rate and share it - that takes the money, though it will not track the visit the way a drop-in does.
Bookings & events
Offer paid private sessions and set your availability under Booking & payments; athletes book and pay through Stripe, and you can share a booking link anywhere.
Share the link with a client who has no app and no account: they pick a time, pay, and get a confirmation by email. Texting them about one specific session? Under "Share booking link", every offering has its own link that opens with that session already picked. After they book, the page invites them to get the app - and if they sign up with the email they booked with, the session is already in their My sessions, with a reminder before it starts and a line to you.
Taking a day off, a trip, or an appointment? Block off the time under "Blocked time" on the same screen (or from the Calendar tab's + button): a day, a stretch of days, or a few hours. Nothing can be booked inside a block - not even a drop-in pass - and the time reopens on its own once it passes. Your weekly windows stay as they are.
Host ticketed events and camps with tiers, capacity, and a public discovery feed - registration and payment are built in.
Recurring revenue instead? See Memberships & dues.
Packages & booking without a card
Two things live under Packages & approvals, both aimed at how private coaching actually gets paid for.
Sell a block of sessions. Create a package - ten sessions, say - with a price and an optional expiry. Athletes can buy it themselves in the app, or you record the sale yourself when someone hands you cash. Either way the app counts the sessions down as they are used and shows you exactly which dates they went on, so you are not keeping a punch card in your head.
Let people book without paying up front. Add your regulars to the approved list and they can book you with no card, then settle in person however you have agreed. This also works if you have never connected Stripe at all - approved people can still book you, which is the point.
You can mark a session paid when the money arrives, spend a credit by hand for a session that happened off the app, and undo either if you get it wrong. Editing or retiring a package never changes one somebody already bought.
Card payments still carry the usual platform and processing fees. Cash and package sessions move no money through us, so they cost nothing.
Pro shop & front desk
Ring up cash or card sales for gear and merchandise from the pro shop on your Org tab, with stock tracking and low-stock alerts.
Kiosk mode turns a tablet at the front desk into self-serve check-in and a point of sale.
Want to sell online as well? Open a merch store from the Earn section - your own storefront page for shirts and gear, paid through Stripe with shipping collected at checkout.
Sales feed your reports, and staff commissions can accrue automatically on each sale.
Take payments in person
Charge a card face to face from Collect a payment: type an amount for anything - drop-ins, gear, private sessions - or start from the pro-shop cart, and add an email if the customer wants a receipt.
Set up a card reader walks a new countertop reader (WisePOS E or Stripe Reader S700) from the box to its first payment: your business address, which Stripe needs on file once, then powering the reader on, joining it to WiFi, and pairing it. Two of those steps happen on the reader's own screen and are easy to miss - swipe right from the left edge, tap Settings, and enter the passcode 07139 to reach both the WiFi settings and 'Generate a pairing code'.
A reader that is not on WiFi never appears in the app, so if one you already paired shows as offline, that is almost always why. Once it is online you can send any charge to it, from the app or from the web Pro shop. On supported phones, Tap to Pay takes contactless cards with no extra hardware.
Everything is recorded automatically on your connected Stripe account: pro-shop carts update stock and staff commissions, and other in-person charges appear alongside your payment links revenue.
In-person payments use the same Stripe setup as bookings and payment links - connect once in Booking & payments and every way of getting paid works.
If payments stop working
Outages happen - ours, or the internet at your gym. This is how you keep taking money anyway. Set it up now, while everything works; it takes about a minute.
Your backup link. Open your gym and, under Money, find Backup payment link. It shows a QR code your customers can scan to pay you by card. That link is hosted by Stripe, not by us, so it keeps working even when the app does not - and the money goes to your Stripe account exactly like every other payment.
Screenshot the QR code and tape it behind the front desk. During an outage you may not be able to open the app to find it, which is precisely when you need it.
Taking card payments during an outage. Have the customer scan the QR code, type the amount you told them, and pay. Nothing about that touches iVenza.
Taking cash during an outage. Take it and record it in the app the way you always do. If your phone is offline the app saves the payment on the device and sends it by itself once you are back online - you will see "Saved - not sent yet". It cannot be recorded twice, so do not re-enter it.
Checking your money. Your balance and payouts live in Stripe. Even if the app is completely down you can sign in at connect.stripe.com/express_login with the email on your Stripe account and see everything that has come in.
Afterwards, you do not have to fix anything. Any card payment that went through Stripe while we were down gets matched back into your records automatically once service returns. If a number still looks wrong a day later, message support and we will reconcile it by hand.
One thing Stripe will not let you do: your account is set up so that we handle charging on your behalf, which means you cannot create new charges or issue refunds from the Stripe website yourself. Refunds have to wait until the app is back.
Marketing & reports
Campaigns, retention, and your numbers
Email & SMS campaigns
Run email and text campaigns from your Org tab - welcome drips, win-backs, birthdays, and announcements - and see which emails were delivered. We don't track whether emails are opened or links clicked: privacy law in Europe requires each reader's consent first, and an email address doesn't tell us where its reader is.
Two-way SMS keeps every reply in one inbox, with opt-out handling built in.
Automations run on their own from your gym tools: pick an event and an action. Events include a new lead and a lead moving to a stage (all stages, or one you pick), alongside a tag added, a check-in, a trial ending, a member gone quiet and a canceled membership. Actions include creating a follow-up for the lead owner or the gym owner, adding a note to the history, and adding or removing a tag, alongside texts, emails, staff alerts and starting a campaign. A lead that arrives by import never counts as a new lead.
For a single one-off announcement, a broadcast is faster.
Business stats: your month and your goals
Business stats puts a gym's month on one screen: what you collected, what the month should end at, new students and attrition. Open it from the This month card on your dashboard, or from Insights & community in your gym's tools in the Org tab.
Collected is everything that came in through iVenza in the month - membership dues, payment links, the pro shop, your online store and class packs - with refunds taken off. Expected by month end adds the renewals still due before the month is over. Past-due cards and lapsed cash memberships are shown separately as Overdue: money worth chasing, but not money to plan on.
New students counts athletes added to your roster in the month, imports included. Attrition is the share of members you started the month with who were gone by the end of it. When you bill through iVenza it counts paying memberships that ended, because a member who stops paying is rarely taken off the roster; otherwise it counts members who left the roster. A checkout someone abandoned never counts as a member, so it never counts as a loss.
Tap Set goals to choose a revenue target, how many new students you want, and the highest attrition you will accept. Goals carry into the months after until you change them, and each one reads On track, Behind pace, Goal met or Missed. Leave a goal blank to not track it.
Use the arrows to open any earlier month, or tap one of the last six months at the bottom. The money half is for owners and anyone you have given billing access; coaches see the member numbers. For trends over a whole year, see Reports & insights.
Reports & insights
See the numbers that matter on your Org tab: retention, lifetime value, lead sources, and attendance, with trends over time.
Export any report to CSV or PDF. Running multiple locations? Roll them up into one group view.
Email delivery lives there too - whether your broadcasts and campaigns reached their readers. Opens and clicks are not tracked.
Explain these numbers turns any of those screens into a plain-language read - what is good, what to watch, what to act on - built from the figures on the screen; the PDF export opens with it. See AI that works alongside you.
Fans: your events CRM
Every ticketed event, camp or seminar you run builds Fans: one list of everyone who has come, what they bought, and what they have spent with you in total - including people you typed onto an attendee list by name alone.
The top of the page is the total view: fans, lifetime spend, how many come back, and "Selling now" - each upcoming event with how many people are reaching out, agreed, arranged and paid, and how many fans you have not asked yet.
To fill an event, tap Ask fans (or Reach out on the event's attendee list), pick who to ask and optionally the ticket to pitch. They land on the list as Reaching out - no seat held, nothing owed - and you move each to Agreed or Paid as they answer.
Add people before you sell anything: one at a time, from your contacts, or by pasting a list (one per line, a name plus an email or phone). Keep them warm between events with nurture campaigns.
Fight promotion & matchmaking
Run fight cards, match fighters, and handle compliance and contracts
Running a promotion
Promoting fights? Create an organization and choose the promotion type from your Org tab - your tools switch from classes to matchmaking.
Find fighters in the marketplace by weight class and record, and keep a scouting pipeline of prospects you're tracking.
Build a fight card with a date and venue, add each bout, and send fighters an offer with the purse and terms recorded. When a fighter accepts, they're booked and joined to your promotion.
Sell tickets for the card - every fighter can sell their own allocation, and you get a live sales board. See Bookings & events for how ticketing works.
Keep every bout legal and signed with fight compliance & contracts.
Fight compliance & contracts
Set what every fighter must clear before fight night from your Org tab: bloodwork, a physical, an eye exam, a W-9, a headshot, or your own custom item - each with how long it stays valid.
Fighters upload their documents (and can re-open what they sent anytime); you open each file from the review board and approve with an expiry date, send it back with a note, waive it, or upload on the fighter's behalf. A W-9 is filled onto the official IRS form - the fighter previews the filled document and signs it - and the fighter's tax number is never stored.
Expiry reminders go out automatically at 30, 7, and 1 day before something lapses, so no fighter shows up out of date.
Turn a contract template into a per-bout contract the fighter e-signs - in the app or through a login-free link - and both sides get a signed PDF. Write templates with merge fields, or upload your own agreement PDF and place the signature boxes on the document itself.
Scouting & recruiting
Find athletes, build a pipeline, and reach out
Scouting & recruiting athletes
Scouting or recruiting talent? Create an organization and choose the recruiter type from your Org tab.
Find athletes who've opted in, filtered by sport, position, graduation year, level, and location, and see their 'Verified by iVenza' stats drawn from real logged data.
Add athletes to your recruiting pipeline and move them through your stages, with notes and activity on each prospect.
Reach out by sending interest to a listed athlete - there is no cold contact. If they accept, a private chat opens. When the athlete is a minor, their guardian gets oversight.
Collect intake details with questionnaires - share a login-free form and responses flow straight into your pipeline.
Your dashboard is built for scouting, not attendance: it opens to your live pipeline, the interests still waiting on a reply, and a Send-a-broadcast action for the one-to-many notes. The class-attendance cards a gym sees are not there, because a scouting program does not take attendance.
Your coach account
Coach plan, billing, and switching to iVenza
Your coach plan & billing
Manage your coach subscription and see what's included on Coach billing.
Advanced tools - AI assistants, advanced reports, and bulk messaging - are part of the coach plan; the everyday roster, schedule, and lesson-plan tools are always available.
Switching to iVenza
Moving from another platform? The migration wizard imports your members and schedule from a spreadsheet so you start with your gym already set up.
Want a hand? Request white-glove onboarding and our team will move your gym for you.
Once your roster is in, send everyone a download invite so they claim their spot - see Creating your gym or team.
Other guides
iVenza is one platform with several jobs
The athlete you coach, the promotion that books them and the scout who finds them are all on the same system. These are the other guides.
Ready to try it?
Start free. The help center travels with you: every article here is in the app, on the screen it describes.
Start freeAlready have an account? Sign in. Get the app: Android on Google Play · iPhone on the App Store