Ultimate CRM
Gym and club software that knows what a Tuesday looks like
Not a generic business tool with the word “gym” typed over it. Ultimate CRM was written for one industry: packages that freeze, members who vanish in March, a front desk that needs the renewal list before the 6am class, and a fingerprint reader that has to keep working when the broadband does not.
12,370,692 member check-ins recorded since December 2023, across 305 fitness centres.
01 / One day
A Tuesday, and which part of the software each hour is
The fastest way to tell whether software fits a gym is to walk one day through it. Here is that day.
| Time | What happens | What the software is doing |
|---|---|---|
| 05:55 | The floor opens and the trainer punches in | The same terminal that reads members reads staff. If Ultimate HRMS is on, that punch is already payroll evidence. |
| 06:40 | A member puts a finger on the reader | The device posts the punch to us over the internet. The row is keyed on device, PIN and timestamp, so a later resync cannot duplicate it. A welcome WhatsApp goes out with one of 365 lines. |
| 07:10 | A member arrives having forgotten their card | They open the app and show a QR that expires sixty seconds later. Or they type the gym code. Either way it is one check-in per day, enforced with a lock. |
| 09:30 | Front desk opens the follow-up list | Written overnight: renewals at 45, 7 and 3 days, balances due today, members three days absent, members seven days absent, birthdays. Each already assigned to a person. |
| 11:15 | A walk-in enquiry | A record with a source and a stage, on a ten-stage funnel, with a next date, an owner, an expected close date and an expected value. |
| 13:00 | A lead ad on Instagram is filled in | It arrives on a webhook, becomes a member record with its source recorded, and schedules a hot follow-up. A retried webhook does not create a second copy. |
| 17:45 | A member buys a six-month package, pays half | Invoice as a PDF, numbered in this branch’s own series, CGST and SGST on their own lines. The unpaid half becomes a balance with a due date and its own reminder. |
| 19:20 | A member wants to freeze for a month | Freeze against the plan’s allowance, with a freeze history behind it. Not a note in a comment box. |
| 22:30 | The owner checks the day from home | Daily collection, footfall by hour, what expires this week, who converted what. |
02 / Packages and money
Every awkward membership request is a screen, not a workaround
The reason gym software gets abandoned is rarely the sale. It is the month after: a member wants to transfer their remaining four months to their brother, another froze in Ramadan and wants those days back, a third upgraded mid-term and the invoice has to make sense to an accountant. Each of those is a first-class operation here with its own audit trail, not a refund and a re-sale.
Plans carry a duration — hours, days, months, years, or Forever — a price, a tax treatment, a purchase window, a stock limit, a PT session count and a freeze allowance in days. Money is held as separate quantities: gross, net of tax, paid, pending, balance and written off. That is why the collection report and the balance-due report cannot disagree with each other.
Registers, as screens: sales, collection, daily collection, balance due, GST register, write-offs, cancelled invoices.
The lifecycle operations
- Freeze
- Against the plan’s allowance, with a freeze history
- Unfreeze
- Days returned to the end of the term
- Transfer
- To another member, recorded on both records
- Upgrade
- Mid-term, with the difference invoiced
- Downgrade
- Same mechanism, the other way
- Extend
- A dated extension, not a silent edit
- Renew
- From the follow-up, or from the member’s record
- Write off
- Its own quantity and its own register
Taking the money
Server-side gateways
Razorpay, with the payment signature verified on our side before anything is marked paid, and Stripe. These are the two wired end to end.
Recorded from the app
PhonePe, Paytm, PayU, CCAvenue and others run their own SDK in the app or browser; Ultimate CRM records the outcome. Useful, and worth knowing it is a different shape.
Offline, still the workhorse
Cash, cheque, card, NEFT, pay later, and buy-now-pay-later providers for Gulf gyms. Each is a payment type with its own reporting.
03 / The door
Keeping the wrong people out, including when the line is down
The claim every gym platform makes is that expired members cannot get in. Here is the part that decides whether that is true.
The membership window lives on the device
When a membership is sold, its start and end dates are pushed into the terminal itself. The reader then enforces the expiry on its own. So a member whose package ended on Tuesday is refused on Wednesday even if the gym’s internet has been down since Monday.
This matters more than it sounds. Terminals have sat offline for two and three weeks at real gyms. On a system that only checks entitlement from the server, those are two and three weeks of expired members walking in.
Enrol once, appear everywhere
Enrol a finger on the master terminal and the user record, the fingerprint template and the face photo are queued onto every other terminal in that group. Two entrances and a studio door stay in step without anybody carrying a laptop round the building.
Across several gyms on one all-access membership, replication is card-only by design — a deliberate limit, not an oversight.
Hardware and protocol
- Protocol
- Classic ADMS push, over the internet
- Endpoint
- /iclock/cdata
- Brands
- eSSL and ZKTeco
- Named models
- ZAM230-NF, ZAM180-NF50VA, ZAM70-NF70VA, F22, F85, F107, ProMA class
- Modalities
- Fingerprint, RFID card, face on face-camera units
- Not supported
- Palm. Nothing here reads a palm.
- Online means
- Seen in the last 60 seconds
- Setup
- A wizard: type the serial off the box, mark master or slave, copy a host and port into the device, verify, sync, reboot
And the phone in their pocket
The member app draws a check-in QR that is signed and dies sixty seconds later. Screenshot it and pass it round the car park and it is worthless before it arrives. The desk scans it, the write takes a lock, and a second check-in on the same day is refused. There is a typed gym code for a phone with no camera, an all-access mode that consumes one session per day per gym and writes an audit row, and an in-app door unlock that dispatches a command to your terminals and records who pressed it.
04 / Everything else that ships
Messages, apps, reports and branding
Messages that leave from your number
Connect your gym’s WhatsApp by scanning a QR code once. Birthday, new enquiry, irregular member, check-in welcome and bill created each have an editable template; placeholders like {cust_first_name} fill in as it sends. Every outgoing message is hashed on gym, number and body and that hash is remembered for twenty-four hours, so two triggers on the same member on the same day send one message rather than two.
SMS alongside it with Indian DLT modelling — template id, sender id, entity id. Email from your own address over your own SMTP. Push through Firebase.
Not the official Meta WhatsApp Business Platform. It drives your own WhatsApp session, which is why it sends from your number, and why nobody here will promise you a delivery SLA.
The reports an owner opens
- Collection, and day-wise collection
- Renewal analysis with a drill-down to the members in each bucket
- Enquiry-to-member conversion, and conversion by staff member
- Follow-up activity, and lead source attribution
- PT sales, trainer and staff sales leaderboards
- Footfall by hour, attendance analysis by batch
- Profit and loss, expenses, revenue forecast
- Monthly sales statement, month against month
- GST register, write-offs, cancelled invoices, balance due
- Bounced and failed memberships
About forty in total. Attendance analysis is capped at 50,000 rows in one pull.
Your members’ app, and your trainers’
Members get check-in, workout plans with logging and personal records, diet plans and a food diary, body measurements with photographs, challenges with teams and leaderboards, a community feed with owner-side moderation, an in-app shop, and habit, water, step and sleep tracking.
Trainers get their client list, measurements and graphs, plan builders on the web dashboard, PT sessions with accept and no-show flags, appointment slots, expiring clients, and sales split into PT, new and renewals. Commission can be fixed, a revenue share, or either banded by client count, with monthly targets in five slabs.
Twelve per-trainer permission switches decide who can mark attendance, edit measurements, assign a plan or add a member. Assigning a subscription is off by default for everyone.
Your name on it
Your logo in the interface, your own domain, your own login screen with your background and your wording, chosen from five login layouts, and a choice of four dashboard themes, two of which have a palette picker.
What you cannot do is type in a brand hex. Colours come from a fixed set. If your brand book has an exact colour, that is a conversation with us, not a setting you will find.
Run several branches from one login and switch between them from the header. Each keeps its own members, its own invoice series and its own reports.
There is no group entity above your branches, so there is no consolidated group report. If that is why you are switching, say so early.
05 / Straight answers
The questions gym owners actually ask
Can it stop an expired member walking in?
Yes, and the mechanism matters: the membership window is pushed into the terminal, so the reader refuses them whether or not the internet is up. Cards, fingerprints and faces are all enrolled centrally and replicated to the other terminals in the group.
Will it chase balances for me?
It creates the follow-up on the date the member agreed to pay, assigns it to somebody, and can send the reminder from your own WhatsApp number. It does not take the money for you; there is no standing mandate in this product.
We have four branches. Is that one system or four?
One login, four sets of books. You switch branch from the header. Members, invoice numbering and reports are per branch, and there is no group-level rollup view above them.
Does it come with exercises and food items loaded?
No. Exercises and food items are your own rows and are imported by CSV. Anyone advertising a library of thousands is describing a fixture we do not ship.
Can I call a lead from inside the CRM?
There is a click-to-call button wired to one telephony provider, enabled per gym on request. There are no IVR menus, no inbound routing and no missed-call-to-lead. If telephony is central to how you sell, this is the weakest part of the product and you should hear that now.
What about my staff — attendance, leave, salary?
That is Ultimate HRMS, a separate module switched on per centre. It reads the same attendance your members and trainers are already generating, keeps leave as an append-only ledger, and runs payroll through a validator that will not approve a run whose attendance contradicts itself. It does not compute TDS and it moves no money.
See it on a live console
Forty minutes, real screens, sample data. Bring your member count, your branch count and the report you check every Monday.
Or email crm.sales@proultimate.com.