Stop carrying the 12-pack count around in your head
For solo personal trainers, yoga and pilates instructors running 25 to 40 clients on session packs. Packs sold up front, payment collected at booking, late cancellations that cost the client instead of you.
Client record · pack
Sarah Bennett
Thu 14 Aug · 6:00 am
- Pack bought
- 12 sessions · 14 Jun
- Sessions on the record
- 7, each with its date
- Last trained
- 11 Aug · 6:00 am slot
- Late cancel, 12 Aug
- Inside 12 hours · 50 percent fee
12-session pack
7 of 12 used
The count you can both read comes from the booking history. A real credit ledger with automatic deduction and an expiry clock is on the roadmap below, not in your account today.

Pick your exact business
Built page by page for fitness
Each page below is written for one kind of practice, in its own vocabulary, with the honest list of what is and is not built for it.
Gyms
Trainer sessions booked and paid online, session packs sold as prepaid bundles, and every member's history on one record.
See your pageYoga studios
Private sessions and batch slots booked online, course fees collected up front, and every student's practice on a record.
See your pagePersonal trainers
Your sessions, packs and client records in one link, with payment collected before the workout instead of chased after it.
See your pageFitness classes
Trial sessions, batch slots and session packages booked and paid online, with attendance history on every member's record.
See your pageSports academies
Cricket and badminton coaching sessions booked online, term fees collected as prepaid packages, and every student on a record.
See your pageA day in the life
Two blocks a day, five hours apart, and a pack count you carry between them
A trainer's day is split in half and the business runs in the gap. The morning and evening blocks are the paid work. Everything administrative happens standing up, on a phone, between sets.

- 5:45 am
First client, apartment gym or partnered floor
The floor slot was booked and paid for whether or not the client turns up. That fee is the trainer's cost, not the client's, and it is the reason a no-show actually hurts.
- 6:00 to 10:00 am
Back to back one to ones
Four clients, four programmes, four sets of numbers to remember. Travel between a clubhouse and a client's building is unpaid and usually unbudgeted in the diary.
- 11:00 am
Programme writing and form checks
Next week's progression, deload decisions, and form check videos coming back by text and DM from clients who trained on their own.
- 2:00 pm
The pack question arrives
A client asks how many sessions are left. The Sheet was last updated during a session that got cut short, so the answer is a negotiation rather than a fact.
- 5:00 to 9:00 pm
The evening block, and tomorrow being rearranged
Six pm moves to seven, seven moves to Thursday, and each move quietly changes which floor slots were paid for and which pack the session comes out of.
- 1st of the month
Renewals, expiries and screenshot archaeology
Who is out of sessions, whose pack expires this month, who paid, and which of the forty payment screenshots in the phone gallery matches which person.
The training is the easy part. The business is a credit balance, an expiry date and a floor fee, tracked in a spreadsheet by someone who is standing up holding a kettlebell.
What you run on today
A Sheet of pack balances and a phone gallery full of payment screenshots
This is the real stack of most independent trainers. It costs nothing and it works until the first disagreement about a session count.
- A Google Sheet of pack balancesUpdated when there is a free minute, which there is not.
- The phone photo galleryForty payment screenshots, no names attached.
- A WhatsApp broadcast listSlot changes, offers, and people who want off it.
- Google CalendarSessions, minus the travel time between them.
- A static payment QRPhotographed and forwarded, one payment at a time.
- Instagram DMsWhere new clients ask about pricing at midnight.
Where it breaks, specifically
Two people count the same pack differently
You think Sarah has four left. She thinks six. Neither of you is lying, the Sheet is just behind, and the client always wins that argument because you cannot show the sessions.
The floor fee comes out of your pocket, every time
A cancellation at 9 pm for a 6 am slot cannot be refilled. The gym still charges for the floor. Without a published window and fee, that cost lands entirely on the trainer.
Packs expire quietly and take the renewal with them
A 12 session pack with a 90 day expiry that nobody is watching turns into an awkward conversation in month four, and the client who was going to renew does not.
The first of the month is an archaeology dig
Matching screenshots in a gallery to names in a Sheet is an evening's work every month, and it is the least valuable hour a trainer can possibly spend.
Today versus operate1
The same training business, before and after
| The job | How it goes today | How it goes here |
|---|---|---|
| Selling a 12-session pack | Quoted in a chat thread, paid in parts, remembered by you. | Listed on your page at your bundle price and paid up front in one payment before the first session. |
| Answering how many are left | Open a Sheet that is three sessions out of date and hope the client agrees. | Every booked session sits on the record with its date, so the count is a list you both read. The automatic ledger and expiry clock are still roadmap. |
| A 9 pm cancellation for a 6 am slot | You absorb the floor fee and say nothing, because saying something costs you the client. | A window in hours and a fee percentage, published on the booking page, applied to the booking without a message from you. |
| Getting paid | A QR photograph, a screenshot back, and a gallery to reconcile on the first. | Paid at booking by card, UPI or local payment method, attached to the session. Nothing to match. |
| Booking around travel | Two clients across the city at 7 and 8, discovered at 7:50. | Availability blocks for the morning and evening, with a buffer so nobody can book you without travel time. |
| Somebody asks off the broadcast list | You remember for a week, then a bulk message goes out anyway. | Clients exist once, as records, so removal is an action rather than a promise. |
Three things that go wrong every week
Sarah bought a 12-session pack in March. You think she has four left. She thinks she has six. The Sheet on your phone was last updated during a session you cut short, and now you are arguing about it in a text thread.
Sell the pack on your page and take the whole amount up front, then let every session she books land on her record with its date. The count stops being a number you carry and becomes a list you can both read.
Your 6am moves to 7am the night before, your 7am moves to Thursday, and the gym still charges you for the floor slot you booked. Nobody no-shows on purpose, but you are the one paying for it.
Set your cancellation window and fee percentage once. It shows on the booking page and applies to the booking when someone cancels inside the window, so the floor fee stops coming out of your own pocket.
Payments arrive as screenshots at odd hours. On the first of the month you sit with your phone gallery in one hand and a Sheet in the other, working out who is actually paid up.
The client pays when they book, by card, UPI or local payment method, and the payment is attached to the booking. There is no screenshot to match to anything and no first-of-the-month reconciliation.
What you get on day one
Packs sold on your page
List the 8 and 12 session pack at your bundle price, sell it up front, and stop collecting a session at a time. Automatic credit countdown is on the roadmap below.
Paid at the moment of booking
Cards, UPI and local payment methods, with international cards for clients paying from abroad. The slot holds when the payment clears, so nobody trains on a promise to pay later.
Late-cancel fee, set once
A window in hours and a fee as a percentage, published on your page and applied to the booking automatically. No arguing at 5am about whether it counts.
Availability that matches your day
Open 6am to 10am and 5pm to 9pm, close Sundays, add a buffer so a client cannot book you across the city with no travel time.
One record per client
Every session they have booked, what they paid, when they last trained, and your own notes on their programme and injuries.
Revenue you can actually see
Total collected per client and per service. Which clients are consistent, which have quietly stopped booking, and what a month really came to.
The alternatives
The booking tools will take your slot. None of them understands a session credit.
Packages and memberships are the weakest feature row in the entire category. Our own pricing survey of the scheduling market found not one general booking tool doing them properly. Facts below are the vendors' own, with the billing term stated.
Calendly
Priced per user per month, with the free tier capped at one event type. Collecting payment on the Standard tier adds a 3 percent platform fee on top of the gateway's own charge.
calendly.com pricing; the full grid is at operate1.com/compare/calendly.
Where it stops
It books the meeting and stops. There is no client record and no pack, so the session count stays in your Sheet and the 3 percent applies every time a client pays.
Setmore
A genuinely useful free tier, then Pro priced per user per month, billed monthly or annually. Online payments run through Square only.
setmore.com pricing; the full grid is at operate1.com/compare/setmore.
Where it stops
Per user pricing and Square-only payments aside, the deeper gap is the record: appointment history is not a client record with packs, notes and totals on it.
Zcal
The free tier takes 3 percent of every payment collected through it, and the paid tier is priced per seat per month.
zcal.co pricing; the full grid is at operate1.com/compare/zcal.
Where it stops
On a trainer's volume the 3 percent quietly becomes the biggest software bill you pay, and there is still nowhere for a pack balance or an injury note to live.
The gym's own software
Where a partnered gym runs a membership system, the trainer is usually a line item inside it rather than the account holder.
General market observation, not from our vendor pricing survey. No pricing claim is made here.
Where it stops
Your client list belongs to the gym. When you move floors, the packs, the histories and the phone numbers stay behind. On operate1 the account is yours and you can export and leave whenever you want.
Competitor figures are taken from a pricing survey we ran on 4 August 2026 and are reproduced with the vendor's own currency and billing term. Prices change and some vendors do not publish at all. Check the vendor's own page before you decide, and tell us if anything here has gone stale.
Specific to your work
Packs, credits, no-shows and the fee nobody wants to charge
Fitness has one commercial mechanic that almost no software in this market handles properly: money is taken up front for sessions that will be drawn down later, against a clock.
A pack is a liability, not a sale
Seven hundred and twenty dollars collected for twelve sessions is eleven sessions of work still owed once the first one is delivered. That is the number worth watching, and it is exactly the number a Sheet is worst at keeping accurate.
Expiry is what protects the renewal
A 60 or 90 day expiry keeps the training consistent and keeps the renewal conversation on a date rather than a mood. Today you can publish the expiry in the pack description. An expiry clock and an expiring-soon list are on the roadmap.
No-shows cost you the floor, not just the hour
At a partnered gym or a clubhouse the slot is already paid for. A published cancellation window and fee percentage moves that cost back to where the decision was made, automatically and without a message.
Group classes and one to ones price differently
A batch class and a one to one are separate bookable services with their own duration, fee and availability. You do not have to remember which rate applies.
What we do not claim
To be exact about what exists: packages today are a bundle you can list and sell in one payment. There is no per client credit ledger, no automatic deduction and no expiry countdown in your account yet. Those are in the roadmap section below. We would rather you read that here than find it out in week two.
Worked example, not a customer result
A personal trainer, one month of packs
Made-up fees in US dollars, chosen to be plausible for an independent trainer. Convert them to your own rates or ignore them: the interesting number is not the revenue, it is the leakage.
- Charged per 1:1 session
- $50 to $90
- Charged per head for a group class
- $15 to $30
- Charged for a 12-session pack, paid up front
- $720
- Active clients on a pack
- 28
- Sessions cancelled inside 12 hours during the month
- 11
- Gym floor fees paid for those slots anyway
- 11 slots
Eleven paid-for slots went unused and the trainer absorbed every one. A published window and a fee percentage moves that cost back to where the decision was made, and it does it without a single awkward message.
Illustration only. These are the practitioner's own fees in a made-up week, not operate1 pricing and not a claim about anyone's results.
Working in your account today
Sell 8 and 12 session packs as a bundle on your booking page
Payment taken at booking by card, UPI and local payment methods
Cancellation window and fee percentage, published and applied automatically
Morning and evening availability blocks, with travel buffers between clients
24-hour and 2-hour reminders by email, so the 9pm reminder round stops
One record per client with session history, total paid and your programme notes
Your own page at operate1.com/p/your-name, custom domain on Pro
One flat price whether it is just you or you and two other trainers
Being built now, not available yet
Everything above is in the product today. Everything below is on the records roadmap and is not in your account yet. We list it here so you can decide with the real picture rather than a demo of something that does not exist.
- A real pack ledger: opening balance, automatic deduction on each booking, expiry date
- Remaining sessions shown on the client record and on the booking screen
- An expiring-soon list, so a pack never quietly runs out of time
- Reminders and confirmations over WhatsApp rather than email, unmetered
- Weight, measurement and performance numbers captured in the session and charted over time
- Attachments on the record for programme sheets and form-check videos
- One-click export of everything held about a single client
The 14-Day Move Guarantee
Sign up for Business, send us your records in whatever shape they are in, Excel, Google Sheets, a WhatsApp export, or an export from your current software, and book your setup call.
Within 14 days of that call your records are live in operate1, your consent notice is written for your profession, and your retention schedule is configured. If we miss the fourteenth day, your next three months are free. You do not have to ask and you do not have to prove anything. We watch the clock, and if we are late we email you and apply the credit.
Two things we need from you, because we cannot do them for you: send the records within 3 days of signing up, and turn up to the setup call. If either does not happen, the clock starts when it does.
What this guarantee is not. It is a promise about our delivery, not about your legal position. operate1 gives you the records, the consent capture, the retention schedule and the audit trail. Whether your practice complies with the privacy law where you work depends on how you run it and on advice from a lawyer, which we are not.
Start with your next booking
Built for personal trainers and instructors. Free tier needs no card and no call. Move your first records tonight and decide in the morning.
One price for the whole practice, however many people work in it. Cancel yourself in the app and take your data with you.