Run the front officev4.1.0

Gymora

Gym memberships with a check-in desk that enforces the rules, member self-booking, and billing without a card.

For gyms with one location. Often replaces GymMaster, Zen Planner or PushPress.

Single license $69 · Extended license $149 · paid once, yours for good

Try the live demoNo sign-up. The demo resets itself, so click anything.

What it does

Check-in that enforces rules

Expired, frozen and canceled members are blocked with a clear reason. Class-pack credits count down and block at zero.

Members book their classes

Each member gets a private page to book, cancel or queue for classes. No app to download, no password to forget.

Waitlists that fill themselves

A full class takes a queue, and a cancellation books the next person in automatically.

Billing without a card

On each renewal date Gymora extends the membership and writes the charge. Members can get the amount and your own payment link by email. Gymora takes no percentage.

Join online

Offer the plans you choose on your own join page. The membership starts when the first payment is in.

Trials that roll over

A trial rolls into the monthly or annual plan you name, first charge due the day it ends. Untick auto-renew and it just ends.

Reminders that fill classes

Class reminders, 'we miss you' notes and welcomes, by email and by text on your own SMS account. Every message is off until you switch it on.

Expiry notices

A daily email tells members when their membership is about to lapse, through your own SMTP. It says the date, never asks for money. Off until you switch it on.

Classes with capacity

Schedule classes and book members in from the desk, never one over capacity. The timetable publishes as a calendar feed.

A kiosk at the door

Members type their short code on a tablet and are welcomed by name. The kiosk keeps the desk's rules; exit needs a staff PIN.

Waivers at the door

With Waiverly, each member's waiver status shows at the desk. New members get the signing link with their details filled in.

Plans, billing and arrears

Monthly, annual, class-pack and day-pass plans with automatic term dates. Record charges and payments, and see an arrears list with totals.

Also: a member roster with CSV export, an ops dashboard, role-checked REST writes and an installable phone app.

Is it right for you?

What Gymora deliberately doesn’t do.

  • Your front desk runs it, and members get their own page to book classes and see what is due; the join page offers only the plans you choose.
  • Single location, single-tenant: one installation per gym.
  • No card ever passes through it. With card payments switched on, members pay on Stripe's own page through your own Stripe account and the charge marks itself paid; otherwise it shows your own payment link and you mark charges paid.
  • Email goes through your own SMTP server and texts through your own SMS gateway, and every message — to you or to a member — is off until you switch it on.
  • Expiry notices, the billing run and member messages need a scheduler: `cron/expiring.php` and `cron/billing.php` daily, `cron/messages.php` hourly — the app runs no background jobs by itself.

What renting costs instead

GymMasterFoundation USD $89/month per site up to 100 members (Advanced $129/mo to 400; Professional $209/mo to 1,300), ex. tax

1 month of GymMaster costs what Gymora costs once.

Read Sep 3, 2026 · source
Zen PlannerStudio "Starting at $99/month"; extensions on top: Website $99/month, Engage $249/month, Branded App $39/month; "*Additional charges and/or fees may apply."

1 month of Zen Planner costs what Gymora costs once.

Read Aug 30, 2026 · source
PushPressFree plan "$0" with "No monthly fees" (card processing 4.99% + .30 on cards, 2.89% + .30 on ACH); Pro $159/month; Max $229/month; "Price in USD"

1 month of PushPress costs what Gymora costs once.

Read Sep 3, 2026 · source

The full comparison: every rival, what each does better, and who should stay with them →

Replacing one of these? GymMaster alternative · Zen Planner alternative · PushPress alternative · Wodify alternative · Glofox alternative · Mindbody alternative · Mariana Tek alternative

Release history

Own It 4.1Members pay by cardOct 4, 2026

For Gymora, 4.1 adds card payments through your own Stripe account: members pay a charge or buy a plan from their member page. What’s new in 4.1 →

Own It 4.0It updates and backs itself upSep 29, 2026

For Gymora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and… What’s new in 4.0 →

Own It 3.4The README in the download tells the truthSep 27, 2026

The two READMEs in the download had drifted apart, and the limits still said there is no SMS, though members marked “Texts OK” can get texts through your own SMS… What’s new in 3.4 →

Own It 3.2Members look after their own membershipSep 26, 2026

For Gymora, 3.2 meant a private member page to book, cancel or queue for classes, a join page for the plans you choose, trials that roll into a membership, and billing…

Own It 3.1It writes to the people you serveAug 20, 2026

The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar…

Own It 3.0Works for your AI, not just for youAug 9, 2026

An agent can run the front desk over MCP: list members, check people in, watch expiring memberships and pull revenue — with check-in going through the same atomic…

Own It 2.0API, 2FA, backups, dark modeAug 6, 2026

Gymora 2.0 adds the 2.0 owner layer.

What’s in the zip

The tree as the zip ships it — the working leftovers the packager deletes are not listed

  • .htaccess
  • API.md
  • Dockerfile
  • LICENSE.txt
  • QUICKSTART.txt
  • README.md
  • assets/
  • bin/
  • config.sample.php
  • controllers/
  • cron/
  • deploy/
  • index.php
  • install/
  • manifest.json
  • offline.html
  • router.php
  • src/
  • sw.js
  • tests/
  • views/
src/CardPay.php: a real module, the first 24 of 471 lines

Chosen as the largest module in src/ that is not one of the shared cores — this product's own logic, not a file every product carries.

<?php
/**
 * CardPay.php — card payments for memberships, class packs and day passes, through the gym
 * owner's OWN Stripe account.
 *
 * What Gymora does and does not do here:
 *
 *   · A member's private page (/m/<link>) shows "Pay by card" beside each unpaid charge, and a
 *     "Buy online" list of the plans the owner offers online. Pressing a button asks Stripe, with
 *     the owner's own secret key, for a Checkout page for exactly that amount and sends the member
 *     there. The card is typed into Stripe's page, never into Gymora's: no card number reaches this
 *     server, the money goes from Stripe to the owner's bank, and Gymora takes no cut.
 *   · Nothing is activated by the member coming back from Stripe. Only a SIGNED webhook event
 *     (checkout.session.completed, or async_payment_succeeded for a delayed method), verified
 *     against the owner's webhook signing secret over the raw request body, records the payment.
 *     Then, exactly once: an unpaid charge is marked paid (a join charge starts its membership),
 *     or a bought plan starts (a class pack's credits are added, a monthly or annual membership is
 *     extended or started, a day pass starts today).
 *   · "Exactly once" has two locks. Each Stripe event id is written to stripe_events (UNIQUE) before
 *     anything else, so a retried delivery stops there. Each checkout is a card_checkouts row that
 *     moves from 'open' to 'paid' in one conditional UPDATE, so the completed event and the
 *     async_payment_succeeded event of the same checkout cannot both fulfil it.
 *   · A card payment that arrives for a charge somebody already marked paid at the desk is never
 *     dropped silently: the checkout is flagged, the owner is emailed to refund it in Stripe, and

Runs on: Two-minute web installer; PHP 8.1+ with MySQL or SQLite, standard shared-hosting compatible. Tested on PHP 8.3. Or run it in Docker: the Dockerfile is in the zip.

Technical owners can install it with one line and their license key: curl -fsSL https://ownware.io/install.sh | sh -s -- gymora <your license key>

Nothing is obfuscated or encoded; what you read is what runs. Manual · API · the test run

Which license do I need?

It comes down to how many installations you need. Running your own business on one site is the Single license. A second domain of your own, or sites you build or run for other people, is the Extended license.

Single license$69
One (1) domain or subdomain · One business, running it on one site.
  • Install it on one domain or subdomain you own or operate
  • Change the source however you like for that installation
  • Run your own business on it commercially, client work included
  • Re-download the current build any time from your buyer portal
  • A second site, or an installation you hand to a client as theirs, needs the Extended license
  • No reselling, redistributing or sublicensing the source
  • Not for offering it to other people as a hosted service
Buy the Single license, $69
Extended license$149
Unlimited sites you own or operate, plus up to 10 client installations (white-label included) · Agencies, and anyone running it on more than one site.
  • Everything the Single license grants
  • Install it on as many domains as you own or operate — no cap on the number
  • Up to ten client installations, one per client project, handed over or hosted for each client; for more, buy another Extended license
  • White-label: remove or replace the product name and logo in the screens of client installations
  • Still no reselling or redistributing the source itself
  • Running it as a multi-tenant service others sign up for needs a SaaS agreement
Buy the Extended license, $149

Every download carries the full terms as LICENSE.txt. The complete wording is on the terms page.

After you buy

Updates

The app’s Updates page installs a new release with your license key, with the release’s signature checked and a backup taken first. Your download link always serves the current build. Download again any time from your order page or the buyer portal; there is no renewal fee.

Help

Email support for installation and for defects in the code as delivered: a person reads and answers every message. It does not cover custom development or server administration. What support covers

If it isn’t right

Refunds are handled by Lemon Squeezy as merchant of record, case by case. EU consumers keep the statutory 14-day right until delivery starts. Refund terms

If we disappear

It keeps running: your server, the full PHP source, no license check that can fail. If no stable release is published for 365 days, the domain limit lifts; after three such years your copy becomes MIT-licensed. The terms have the exact wording: continuity.

Questions

Is this a public booking site my members log into?
Your front desk runs it, and members get their own page to book classes and see what is due: a private link, with no password to forget. The join page offers the plans you choose.
Does it charge my members' cards?
Never automatically, and no card ever passes through it. With card payments switched on (your own Stripe account), a member pays a charge or buys a plan by card on Stripe's own page from their member page, and the payment is recorded when Stripe confirms it; each term is one payment the member makes. Otherwise Gymora shows your own payment link and you mark charges paid, or you take payment at your own card terminal or in cash.
Will this run on my shared hosting?
Yes. Gymora needs PHP 8.1+ with PDO — present on virtually all cPanel/Plesk hosts. Choose SQLite for zero database setup, or MySQL for production. The web installer takes about two minutes.
Can I trust the check-in logic?
The entire membership/check-in core lives in one class and ships with 90 offline test assertions covering the guards, credit decrement, status transitions, expiry, arrears, and revenue math.
Does it support multiple locations?
No — Gymora runs one location per install. Every member of staff gets their own login, with roles, invitation links and two-factor sign-in.
Do I pay per member, or monthly?
Neither. The license is bought once and your member count never changes it.
Can a canceled membership be reactivated?
No — canceled is terminal by design. A returning member gets a new membership, which keeps the old one's history intact and stops the front desk quietly reviving an account that was closed.
Does it freeze or cancel memberships on its own?
No. Freezing and canceling are manual holds that a person applies. The only thing that happens by itself is an end date passing, which the check-in guard then reflects at the door.
Does it decide my prices and plans?
No. Plans, terms and prices are yours, and they sit behind the settings permission so they cannot be changed mid-shift from the front desk.
Can members check themselves in?
Yes — a kiosk screen you open on any tablet. A member types their short code (issued from their record, easy to read off a card) and the check-in lands through the exact same engine the front desk uses, so kiosk check-ins can never bypass desk rules. Leaving kiosk mode needs a staff PIN.
Better together
Studio Suite: Slotly, Waiverly, Gymora and Visitora
Online booking, digital waivers, and membership management — run a studio, gym, or spa on your own server.
4 tools for$199
$326 separatelySave $127

Covered in these guides

Also covered in: Self-hosted booking, simple to use, with an API — the direct answer · What's new in Own It 3.1 · "You Own Your Data" Is Only True If You Can Restore It · What a Twelve-Staff Gym Pays for Software Every Year — Line by Line · Two of Three Gym Platforms Will Not Show You a Price — And Billing Is the Real Question · Gym management software without a subscription, and 1 more in the guides.

More about Gymora

Self-hosted gym membership manager with front-desk check-in guards and class-pack credit tracking.

The problem it solves

Independent gyms, yoga and pilates studios, martial-arts schools and CrossFit boxes run on one of two things: an expensive per-member SaaS subscription that keeps climbing as you grow, or a spreadsheet that can't tell the front desk whether the person at the door is actually allowed in.

Neither answers the questions you ask every day:

  • Who's active, who's expiring, who owes money
  • Did this class-pack member just use their last credit

Every feature

  • A member-facing check-in kiosk. A tablet at the door: the member types their short code and gets a welcome by name — the same desk engine records the visit, so the kiosk can never bend a rule the desk enforces. Exit is gated by a staff PIN, stored hashed.
  • The expiring membership can tell the member. A daily cron emails members whose membership lapses inside your notice window — once per membership per expiry, through your own SMTP, off until you switch it on. It never asks for money; it says the date.
  • Member management. Keep a roster with contact info, emergency contacts, notes, and status, with search, filter, and CSV export.
  • Flexible membership plans. Support monthly, annual, class-pack (with credits), and day-pass plans with automatic term dates.
  • Front-desk check-in guards. Block expired, frozen, and canceled members with a clear reason, and decrement class-pack credits, blocking at zero.
  • Billing and arrears. Record charges and payments, mark items paid, and see an arrears list with totals.
  • Ops dashboard. See active members, check-ins today, revenue this month, expiring memberships, and overdue payments at a glance.
  • Self-hosted, one-time purchase. Runs on PHP 8.1+ with MySQL or SQLite on standard shared hosting, with no subscription or per-member charges.
  • Installable mobile app (PWA). Add it to a phone or tablet home screen straight from the browser — a full-screen app served from your own server, with no app store involved. Business data is not stored offline on the device; what you see is read live.
  • Classes with capacity. Schedule classes, book members in from the desk, never one over capacity, and publish the timetable as a calendar feed.
  • Members book their own classes. Each member gets a private member page: their membership, credits and renewal date, anything due, and the next two weeks of classes to book, cancel or queue for. No app to download, no password to forget.
  • Waitlists that fill themselves. A full class takes a queue, and a cancellation books the next person in automatically.
  • Renewal billing. On each renewal date Gymora extends the membership and writes the charge. Members can get the amount and your own Stripe, GoCardless or PayPal payment link by email, plus one reminder, or pay it by card on their member page when card payments are on. You keep your processor's rate; Gymora takes no percentage.
  • Trials that roll into a membership. A trial of so many days continues on the monthly or annual plan you name, with its first charge due the day the trial ends; untick auto-renew and it just ends.
  • Join online. Offer the plans you choose on your own join page. The membership starts when the first payment is in.
  • Reminders that fill classes. Automatic class reminders, "we miss you" notes and welcomes, by email and by text on your own SMS account. No per-message fees.
  • Waivers at the door. With Waiverly, each member's waiver status shows at the desk, and new members get the signing link with their details filled in.
  • Updates from inside the app. The Updates page installs a new release with your license key: Ownware's signature is checked, a backup is taken first, and the app puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. It never checks by itself.
  • Backups by themselves. Automatic backups, an optional copy to S3-compatible storage you own, and a weekly check that the latest backup reads back. The Health page names anything that needs attention.
  • Members pay by card. Switch on card payments with your own Stripe account: each unpaid charge on a member's page has a Pay by card button, and Buy online sells the plans you offer. The card is typed into Stripe's page, never into Gymora, and a charge marks itself paid when Stripe confirms it.
  • Own It 4.0.1 — fixes and an up-to-date manual. For Gymora, 4.0.1 fixes an installer that had lost its styling, a rollback that a page opened during an update could stop, scheduled tasks that a browser could start and a command-line update that ended in an error after putting the previous version back. Its manual, FAQ and QUICKSTART now cover everything 4.0 added, including two Nginx rules that keep the data folder private. Your license covers it: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0.2 — the installer opens on every host. For Gymora, 4.0.2 fixes a fresh install on an Apache host: the one-page setup at /install/ looped back to itself and never opened, and now it opens. Your license covers it: press Check for updates on the Updates page, or download it from your order page.

Release notes in full

  • Own It 4.1: members pay by card. For Gymora, 4.1 adds card payments through your own Stripe account: members pay a charge or buy a plan from their member page. An Extended license bought from October 4, 2026 covers up to ten client installations, one per client project: hand each one over to the client or host it for them, with the client's logo and colors from the app's branding settings. The API reference now shows how to connect Gymora to Zapier, Make or n8n, using its own webhooks and API key. Your license covers the update: press Check for updates on the Updates page, or download it from your order page.
  • Own It 4.0: it updates and backs itself up. For Gymora, 4.0 means updates from inside the app: the Updates page checks for a new release with your license key, verifies Ownware's signature, takes a backup and puts the previous version back by itself if the update is interrupted or the database step or start-up check of the new version fails. A new install can start with a sample business and remove it in one click; backups run by themselves, with an optional offsite copy and a weekly check that the latest one reads back; and the Health page says whether the install is looking after itself.
  • Own It 3.4: the README in the download tells the truth. The two READMEs in the download had drifted apart, and the limits still said there is no SMS, though members marked “Texts OK” can get texts through your own SMS gateway since 3.2. They are now one complete text in both places. No code changed.
  • Own It 3.2: members look after their own membership. For Gymora, 3.2 meant a private member page to book, cancel or queue for classes, a join page for the plans you choose, trials that roll into a membership, and billing on each renewal date through your own payment link, with no card passing through Gymora. Class reminders go out through your own mail and SMS, off until you switch them on, and every REST write now checks the key holder's role. Each change is a card above.
  • Own It 3.1: it writes to the people you serve. The 3.1 wave gave the catalog a way to reach the other side of the transaction: counterparty email through your own SMTP server, calendar feeds your own calendar subscribes to, attachments filed where the paperwork belongs, and export presets other people's software imports. Each outbound feature ships switched off and runs on your own credentials; a failed send is recorded, and the action that triggered it stands. What this app gained is listed at the top of this section.
  • Own It 3.0: works for your AI, not just for you. An agent can run the front desk over MCP: list members, check people in, watch expiring memberships and pull revenue — with check-in going through the same atomic credit path the desk uses, proven with twelve concurrent calls against six credits: exactly six succeeded. The member role is a front-desk shift without access to pricing or settings.
  • Own It 2.0: API, 2FA, backups, dark mode. Gymora 2.0 adds the 2.0 owner layer. Upgrade by replacing the files — the database migrates itself, and it is still the same one-time purchase.

Browse self-hosted: Front-office software · Gym & studio software

Gymora$69 once
Demo Buy