Guides / How to build

How to Build a Gym Membership App: Plans, Billing, Class Booking and Check-In

How to build a gym membership app: plans and recurring billing, freezes, class booking with capacity, check-in, waivers, and when gym software is better.

Mythex Team · 2026-09-29 · 6 min read

A gym membership app lets people join, pay every month, book classes and check in, while staff see who is active, who has paid and who turned up. To build one you need member accounts, membership plans connected to a payment provider's subscriptions, a class timetable with capacity and waitlists, a check-in method at the door, and a staff dashboard. An AI app builder can produce the core quickly. The hard parts are the money rules (freezes, failed payments, cancellations, proration) and making sure access at the door matches what a member has actually paid for.

Start with your membership model

Gyms and studios differ a lot. Write down:

  • Plan types. Monthly unlimited, off-peak, class packs (10 classes), drop-ins, annual prepaid, family or student plans.
  • Contract terms. Rolling monthly, minimum term, notice period to cancel. Check your local consumer rules on contracts and cancellations.
  • What each plan includes. Open gym only, classes only, both, specific locations.
  • Freezes. Can members pause for travel or injury? For how long, and is there a fee?
  • Joining fee, if any.
  • Classes. Fixed timetable, capacity per class, waitlists, late-cancel and no-show rules.

A small yoga or boxing studio running class packs needs a very different app from a 24-hour gym with door access. Build for yours.

What the app needs

Data

TableKey fields
MembersName, email, phone, emergency contact, waiver signed at, QR token, status
PlansName, price, billing period, classes included (unlimited or a number), access hours, active yes/no
MembershipsMember, plan, status (active, frozen, past due, cancelled), start date, end or renewal date, payment provider subscription ID
Class types and sessionsName, coach, room, start time, duration, capacity
BookingsSession, member, status (booked, waitlisted, cancelled, attended, no-show), created at
Check-insMember, time, location, method
PaymentsMember, amount, status, date, provider reference — mirrored from the payment provider

Keep the membership status in sync with the payment provider. The provider is the source of truth for whether a payment succeeded; your app updates its own status when the provider notifies it.

Pages

  • Public: plans and prices, timetable, join flow (choose plan, create account, sign waiver, pay).
  • Member area: my membership, upcoming bookings, book or cancel a class, check-in QR code, payment history, freeze or cancel requests.
  • Front desk: check-in scanner, member lookup, today's classes with attendance lists.
  • Staff admin: members, plans, timetable, failed payments, reports on active members, attendance and class fill rates.

Permissions

Members see only their own data. Coaches see their class lists. Front desk can check in and look up members. Managers handle plans, refunds and reports. Health and injury notes collected on sign-up forms are sensitive; collect only what you need and restrict who can see them.

The hard parts

Recurring billing

Use a payment provider's subscription feature rather than building your own billing. The member enters card details on the provider's hosted page; the provider charges them every period, retries failed payments and sends your app events through a webhook (payment succeeded, payment failed, subscription cancelled). Your app changes the membership status in response. Our guide to adding subscriptions with Stripe covers this, and adding payments covers the basics.

Decide what happens when a payment fails: a grace period of a few days, then "past due" and no check-in until it is fixed, is a common rule.

Freezes, upgrades and cancellations

Freezing usually pauses billing and access for a set period. Switching plans mid-month raises the question of proration (charging for part of a period). Most payment providers can calculate proration for you. Cancellation with a notice period means the membership stays active until a future date. Write each rule down and test it.

Class capacity and waitlists

The same double-booking problem as any booking app: check capacity on the server when the booking is saved, not only when the page loads. When someone cancels, offer the spot to the first person on the waitlist. Decide your late-cancel window and whether no-shows lose a class credit.

Check-in and door access

A QR code in the member area scanned at the front desk works well for staffed gyms. Unstaffed or 24-hour access usually means door hardware, which is controlled by that hardware's own system; a custom app can only drive it if the hardware has an API. That is often the deciding factor between building and buying.

Waivers

Many gyms ask new members to accept a liability waiver or health questionnaire. Store who accepted which version and when. The wording is a legal document; get it from a professional, not an AI.

A first prompt that works

Build a membership app for Ironside, a single-location strength gym. Plans: Monthly Unlimited ($60/month), Off-Peak ($40/month, weekdays 9:00 to 16:00), and 10-Class Pack ($120, one-off). Public pages: plans, weekly class timetable, and a join flow where people pick a plan, create an account, accept a waiver and pay through Stripe (subscriptions for monthly plans). Members get an area with their membership status, a QR code for check-in, class booking with capacity limits and a waitlist, and a request-to-freeze button. Front desk staff log in to a scanner page that checks the QR code, shows whether the membership is active (and within off-peak hours for Off-Peak), and records the check-in. Managers see members, failed payments, attendance and class fill rates. Membership status updates from Stripe webhooks. Store everything in a database. Bold, simple design; mobile-first for members, tablet-friendly for the front desk.

Build steps

  1. Plans, timetable and member accounts.
  2. Class booking with server-side capacity checks and a waitlist.
  3. Payments in test mode: one-off class packs first, then subscriptions and webhooks.
  4. Membership status rules: active, past due, frozen, cancelled, and what each allows.
  5. Check-in scanner that enforces those rules.
  6. Staff and manager views with roles.
  7. Waiver acceptance with version and timestamp.
  8. Test the money paths: failed payment, card update, freeze, plan change, cancellation with notice, refund.
  9. Import existing members carefully; existing card subscriptions usually need to be moved by the payment provider's migration process, not by your app.

Common mistakes

  • Trusting the app's own "paid" flag instead of the payment provider's events.
  • Checking class capacity only in the browser.
  • No grace period on failed payments; members get turned away at the door because a card expired yesterday.
  • Storing card details. Let the payment provider hold them.
  • Collecting detailed health information you do not need, and leaving it visible to all staff.
  • Promising door access before confirming your hardware can be controlled by your app.

When gym management software is the better choice

Dedicated gym and studio software already handles billing, freezes, class booking, check-in, door access integrations, branded member apps and reporting. For most gyms, especially those with door hardware or multiple locations, that is the better choice. Compare a few on the features you need and on how they handle leaving (exporting your members and payment subscriptions).

Build your own when you run a small studio with simple rules and the software costs more than it is worth to you, when your model does not fit (for example a hybrid of coaching, programs and classes), or when you want to build software for gyms as a business. If you coach clients rather than run a facility, see how to start a personal training business, and for paid online content, see how to build a membership site.

Building it with Mythex

On Mythex you describe the gym app in chat and check it in the live preview at phone and tablet size. The agent adds a dedicated Postgres database when members and bookings need saving (or type /database). Mythex does not include built-in sign-in or payments for your apps: you connect your own Stripe account and keys, stored as project secrets (Stripe recipe), and add member login with your own auth approach. Stripe webhooks need your published URL, so publish before testing them end to end. Mythex builds web apps; native App Store apps are not available today.

For a design starting point, the yoga studio website template has coach profiles and editorial layouts.

Questions

What does a gym membership app need?

Member accounts, membership plans with recurring billing, a class schedule members can book with capacity limits, check-in at the door, and a staff view of members, payments and attendance. Freezes, class packs and waivers usually follow.

How should a gym take recurring payments?

Through a payment provider's subscription feature, such as Stripe Billing, where the member saves a card and the provider charges it each period, retries failed payments and notifies your app. Never store card numbers yourself.

How do members check in?

Commonly by showing a QR code from their account that staff or a tablet at the door scans. The app checks that the membership is active and records the visit.

Should I build gym software or buy it?

Most gyms are better served by existing gym management software, which handles billing, access control hardware and apps. Building makes sense for unusual models, small studios with simple needs, or as a product you plan to sell to other gyms.

Keep reading

  • How to Add Subscriptions with Stripe: Plans, Trials, Webhooks and Failed Payments — Add recurring billing with Stripe: Checkout in subscription mode, trials, the customer portal, the webhook events to handle, and what to do when a card fails.
  • How to Build a Blog with AI: Posts, Editor, SEO and Hosting — Build your own blog with an AI app builder: posts, an editor, categories, newsletter signup and SEO search engines can read, plus when a platform fits better.
  • How to Build a Booking App: Slots, Availability, Reminders and Deposits — How to build a booking app with AI: services, availability and time slots, double-booking rules, time zones, reminders, deposits, and when Calendly is enough.
  • How to Build a Budget App: Categories, Transactions, Imports and Reports — Build a personal or household budget app: budgeting methods, transactions, CSV imports vs bank connections, handling money correctly, and privacy.
  • How to Build a Changelog Page: Entries, Tags, RSS and 'What's New' — How to build a product changelog page: what each entry needs, files vs database, tags, RSS, email updates, an in-app 'what's new' badge, and writing tips.
  • How to Build a Church Website: Services, Sermons, Events and Giving — How to build a church website that helps visitors find you: service times, sermons, events, online giving, privacy for members and children, and an AI prompt.

Start building free · Templates · Docs