Member management
Name, phone, email, gender, DOB, address, emergency contact and notes, with phone numbers unique per gym. Membership status (active, expiring, expired, inactive) is computed from the end date on every read rather than stored, so it's never stale.
Scannable entry passes
Every member gets a unique code (GD + 8 characters from an ambiguity-free alphabet) rendered as both a QR code and a Code 128 barcode, shareable straight to WhatsApp.
Live camera scanner
A full-screen CameraX + ML Kit scanner reading QR, Code 128, EAN, UPC and Data Matrix. Scanning the same card again toggles check-out instead of creating a duplicate record.
Attendance & auto checkout
Attendance is keyed per member per day. Once a day the app checks whether the gym's closing time has passed and checks out anyone still marked present — unless the gym is set to open 24 hours. It self-heals if the app wasn't open right at closing.
Payments, renewals & UPI
Every join, renewal or ad-hoc collection writes a payment record with amount, mode, type and who collected it. Renewing an active member appends to their existing end date; an expired one starts fresh from today. A live UPI QR can be generated for any amount.
Sequential invoices
A receipt icon on any payment generates or re-opens a numbered invoice (INV-000123) and shares a rendered receipt image over WhatsApp.
Plans, trials, freeze & referrals
Four starter plans are seeded on setup. Free trials gate entry exactly like a paid plan but stay flagged as a sales conversation. Memberships can be frozen — the day counter pins instead of ticking down — and referrals apply a configurable discount.
Leads pipeline
New → Contacted → Trial Scheduled → Trial Completed → Negotiating → Converted or Lost, with source, notes and a follow-up date. Lapsed memberships and unconverted trials turn themselves into follow-up leads automatically.
Dashboard & reports
A live activity feed, KPIs with week-over-week deltas, plan-mix and payment-mode donuts, a revenue trend and a busy-hours-by-time-of-day chart.
WhatsApp templates
Editable templates for welcome, thanks-for-visiting, expiring, expired, lead follow-up and trial reminder, with placeholders for name, gym, plan, expiry and days left.
Team & transfers
Trainers, managers and housekeeping get their own scan card and attendance log without ever getting an app login. Unused membership days can move between members, with an immutable transfer record as the audit trail.
Encrypted local database
An encrypted SQLCipher database stored outside the app's private folder so it survives an uninstall and reinstall, with an owner marker that rejects a different account signing in on the same phone.