Run memberships, classes and dues from one phone app
One computer at the front desk, a full class register beside it, and a stream of WhatsApp messages asking whether there is space in tonight's pilates class. Members forget their dues, freeze requests stay verbal, the same spot gets sold twice. A membership app exists to pull those three jobs — entry, booking, collection — into one place. Once record-keeping moves to the member's phone, the front desk can spend its time on sales and on the people actually in the gym.
How many separate apps does this need?
-
01
Member mobile app (iOS + Android)
QR entry at the turnstile, group class booking with a waitlist, days remaining and freeze allowance, membership dues payment, PT session history and body measurement tracking — all on one screen.
-
02
Trainer and PT app
Class attendance, checking off members who showed up, PT session approval and signature, entering programmes and measurements for members; simple enough to use one-handed on a phone in the middle of the gym floor.
-
03
Admin panel (web)
Member records, package and pricing definitions, class calendar and capacity, freeze and transfer approvals, failed payment list, non-renewing member reports and the e-Arşiv invoice flow (Turkey's mandatory e-invoicing system).
What the app includes
- Locker assignment with unreturned key tracking
- Single-use entry code for guests and trial classes
- Personal-training session balance debited per trainer
- Live floor occupancy from entry minus exit scans
- Class handover to a substitute trainer with member alert
- Separate booking slots for sauna, tanning and pool
- Bar and supplement purchases charged to the member tab
- Corporate employee groups billed to the company in one invoice
- Family or partner memberships linked under one payment
- Member referral code granting bonus membership days
- Trainer-written set, rep and weight plan the member ticks off
- Equipment fault report with photo, machine number and repair status
State of the sector
Neighbourhood gyms no longer compete only with the gym down the street, but with chain brands that let members pick classes from a single app and with studios selling flexible packages. Members want to see whether a class is full without messaging anyone, freeze their membership from their phone, and check their remaining days themselves. When those three needs go unmet, the loss is silent: the member does not complain, their term simply ends and they never come back to renew. In a gym run on a paper book and WhatsApp, nobody notices which member has not shown up for two weeks — yet that is exactly the moment the renewal is lost. An app is the only tool that makes this invisible attrition visible.
Metrics that matter here
- Monthly membership renewal rate — A timely reminder for members whose term is ending, plus one-tap renewal in the app, removes the need to come to the front desk.
- Booking no-show rate — Reminder notifications, a cancellation cut-off and waitlist reassignment fill empty spots and make class occupancy figures realistic.
- Weekly visit frequency per active member — QR entry logs reveal each member's rhythm, so a member who has not been in for two weeks is caught before the renewal is missed.
- PT and add-on package conversion rate — When measurement tracking and trainer recommendations are visible in the app, personal session sales no longer depend on a front-desk conversation.
Common mistakes in this sector
- Building bookings without capacity control When class sign-up is written like a simple form, two members book the same spot and an argument breaks out on the gym floor. The capacity decrement must happen in a single locked transaction on the server, and the waitlist must take over once the class is full.
- Adding freeze rules to the software later When freezes, transfers and holiday exceptions are left out of the first release, staff start editing end dates by hand in the panel. The audit trail disappears and disputes cannot be settled. The rule engine has to be defined in one place from day one.
- Assuming automatic collection ends at 'we saved the card' Without a retry schedule for failed charges, member notifications and a follow-up list in the panel, dues do not quietly collect themselves. The shortfall shows up at month end and collection goes back to chasing people by phone.
- Treating health declarations and measurements as ordinary member fields Writing injury notes and body composition results onto a member record everyone can see creates unnecessary access and skips the separate consent requirement. These fields must be separated, with access limited to the member and their assigned trainer.
Regulation and compliance
A gym membership is a fixed-term subscription, and consumers are expected to be able to submit a request to end the contract as easily as they signed up. That makes it both compliant and evidentially sound to capture cancellation and freeze requests inside the app with a date and time stamp. The obligation to issue e-Arşiv invoices for dues and package sales must be wired into the app's payment flow. Health declarations, doctor's reports and body composition results are special category personal data under KVKK (Turkey's data protection law, aligned with GDPR): they require separate explicit consent, restricted access and a defined retention period. Facility licensing and trainer certification obligations remain the operator's responsibility, not the software's.
The real challenges in this sector
-
Class capacity being contested in the same second
When bookings open at a fixed time each week, dozens of members hit the same pilates slot at once. If capacity is decremented on the client side, one spot gets sold to two people. The decrement has to happen in the database as an atomic operation with a row lock, members must be moved to a waitlist automatically once capacity is full, and when someone cancels the next person in line should be notified and have the spot held for them for a set period.
-
Turnstile entry that does not depend on the internet
If the line drops at the entrance and the door will not open, the morning rush piles up at the front desk. The QR code should not be a number the server has to look up — it should be short-lived, signed data carrying the membership end date and the member ID; the reader verifies the signature offline and queues the entry locally, and records sync with the server once connectivity returns. Device clock drift breaks that verification, so time synchronisation is essential.
-
Recurring dues payments failing
When monthly dues are collected via stored cards and recurring charges, cards expire, limits run out and banks decline. Card data cannot be held by the gym; you work with a token stored on the iyzico or PayTR side (Turkish payment providers). A failed charge must not disappear silently: you need a staged retry schedule, a notification to the member, a follow-up list in the panel, and suspension of the membership after a defined number of attempts.
-
The maths of freezes, transfers and days remaining
Members freeze their membership when they go on holiday, sometimes transfer a package to a friend, sometimes use their freeze allowance in pieces. Days remaining is not a simple date difference: the total of frozen intervals is added to the end date, the freeze allowance is capped by both days and number of uses, and the recurring payment cycle shifts accordingly. If this rule engine is not written in one place from the start, every package accumulates its own exceptions.
-
Keeping measurement and health declaration data separate
Body composition results, injury history and doctor's clearance are health data; they should not sit in the same list as ordinary member details for everyone to see. These fields need their own explicit consent, should be accessible only to the member and their assigned trainer, and access must close when a trainer leaves. If a reading from the device is matched to the wrong member, the wrong person gets the programme — matching has to be verified against the member number.
Required integrations
- Card tokenisation and recurring dues collection with iyzico, PayTR or Craftgate (Turkish payment providers)
- Turnstiles and access control systems (QR and RFID readers)
- e-Arşiv invoicing integrator via GİB (Turkish Revenue Administration) for dues and package sales
- Measurement transfer from InBody-style body composition devices
- Apple Health, Google Fit and watch/tracker data for step and workout sync
- SMS/OTP provider and WhatsApp Business for class reminder notifications
Who this page is for
-
A single-branch neighbourhood gym
With a weights floor at its centre, the priorities are QR entry, visible remaining days and dues collection. Class booking may cover only a few hours a week, so the first release should stay narrow around entry and payment, leaving measurements and personal training for later.
-
A class-based boutique studio (pilates, reformer, yoga)
Revenue is tied directly to capacity, so booking is the centre of gravity: contested sign-ups for an eight-place session, waitlist handover, a cancellation cut-off and substitute-trainer alerts. Class packs such as ten sessions must run on remaining sessions rather than remaining days.
-
A newly opened club planning a second branch and corporate deals
With no member base yet, the answer is not a complex build but a data model that carries branch, cross-branch access and corporate group billing from day one, with the screens added later. Otherwise the member and package structure gets rewritten the moment the second site opens.
A phased plan that splits the budget
-
1
Phase 1 — Working membership core for one branch 5-7 hafta
Ships the member app, QR entry, class calendar with booking, remaining-days view and a web panel for packages and class capacity, plus migration of the existing member list. At this point the front-desk notebook and message traffic stop; the gym runs fully on the app even before payment automation.
-
2
Phase 2 — Collection, invoicing and the membership rule engine 4-6 hafta
Adds recurring dues via tokenised cards at the payment provider, a retry plan and follow-up list for failed charges, the e-Arşiv invoice flow (Turkey's electronic archive invoice), the freeze-transfer-remaining-days rule engine and renewal reminders. Because the membership flow is already live, the rules are written against real packages rather than assumptions.
-
3
Phase 3 — Trainer side, measurements and a second branch 4-6 hafta
Brings the trainer app, attendance and PT session sign-off, a consent-gated area for measurements and health declarations, lockers and occupancy display, cross-branch access rights and corporate group billing. The most sensitive data and multi-branch complexity come last, since the first two phases already carry daily operations.
Typical scope and timeline
A typical first release: member app (QR entry, class booking and waitlist, days remaining and freezes, dues payment), attendance and PT session approval in the trainer app, package, calendar and capacity management in the web panel, recurring collection through a payment provider, e-Arşiv invoicing connection, notification infrastructure, migration of existing members, testing and store release.
Estimated timeline: 10-16 weeks
Off-the-shelf or custom build?
| Topic | Off-the-shelf | Custom build |
|---|---|---|
| Time to launch and upfront cost | Off-the-shelf gym software opens within days at a low entry cost; for a newly opened single-branch gym that head start is real. | Custom development takes weeks and needs budget upfront, but replaces a per-member monthly deduction with an asset the gym owns. |
| Package, freeze and transfer rules | Ready-made systems apply a fixed freeze and transfer pattern; when the gym's own rule differs, staff end up editing end dates by hand. | Day limits, usage counts, deferral of the recurring charge and transfer approval are defined in one rule engine that matches the packages actually sold. |
| Connecting turnstiles and accounting | Common turnstile and payment providers are usually supported and work fine; an older reader or the accounting package already in use is simply out of scope. | Whatever reader, e-invoicing integrator and bookkeeping tool the gym already runs is what gets connected, with no forced hardware replacement. |
| Data ownership and exit | Member lists, entry logs and payment history sit in the vendor's database; export usually exists, but its format and depth are the vendor's call. | The database and store accounts are opened in the gym's own name, the member relationship stays direct, and data and app remain in place even if the development team changes. |
Sector glossary
- Freeze allowance
- The total days and number of uses a member may pause their membership for, typically during holidays or injury. Gyms set it per package, and the end date shifts forward by the frozen days.
- Anti-passback
- The rule that stops a member who has entered from passing the same code back to someone else. Once used for entry, the code is refused until a matching exit is recorded.
- No-show
- A member who books a group class and never turns up. The real cost is the seat left empty: someone on the waitlist could not take it, so a class that looks full runs half empty.
- Dormant member
- Someone whose membership is still active but who has not shown up for weeks. They never complain, so nobody notices until the term ends and they simply do not renew; without entry logs the loss is invisible.
- Drop-in (day pass)
- A one-off entry or single class taken without a membership. It needs its own product since remaining-day logic does not apply; it consumes the same class capacity as members and enters with a single-use code.
Frequently asked questions
Let us talk about your project
A free 30-minute call to scope it out, then an itemised quote within 48 hours.
Get a Free QuoteThis page explains the problems an app must solve in this sector. We share references and comparable projects during the call.