← Documentation

Onboarding from zero

Your first session in OurGym — gym details, a plan, a schedule, a waiver, and your first members.

Updated September 14, 2026

This is the path from an empty gym to taking bookings. It assumes nothing is set up yet. Expect about an hour end to end; you can stop after step 6 and come back.

Every screen named below lives in the sidebar of the staff dashboard at staff.ourgym.app. You need the owner or admin role to do most of this — see Onboarding staff and staff roles.

Before you start

Have these to hand:

  • Your gym’s legal name, address, and time zone (one per location).
  • What you charge, and for what — the memberships, class packs, and drop-in prices you actually sell today.
  • Your liability waiver text.
  • A weekly class timetable, even a rough one.
  • If you’re moving from another system: a member export from it.

1. Sign in

OurGym has no passwords. Enter your email or mobile number, and we text or email you a one-time passcode. That code is the whole sign-in.

Signing in by mobile number also shows an optional tickbox for receiving OurGym assistant replies by text. It is off by default and skipping it changes nothing else — you still sign in, and you can turn it on later. Texting the assistant is rolling out and is not available on every account yet.

If we set your gym up for you, it is already waiting: sign in with the email address you gave us and your gym is there, with you as its owner. There is nothing to accept and no invitation link to find — the address is the claim. Sign in with a different address and you’ll get an empty account instead, so use the one you gave us.

2. Work the setup wizard

The Set up your gym tile on your Today page opens the wizard, and while anything is still outstanding a Finish setting up your gym card sits at the top of Today as well. (It is also Settings → Getting started in the sidebar.)

That screen asks one thing first — are you moving from another gym system? — because the answer decides which of two routes you take, and you only ever work one of them:

  • Yes, import my gym opens the import wizard right there: it brings your plans, schedule, staff and members across from your old system and does the steps below for you. See Migrating from PushPress.
  • No, I’m starting fresh takes you to the setup steps on their own screen. You can also open them any time from Set it up yourself on the getting-started screen.

The four steps are:

  1. Create a plan & pricing
  2. Set up your class schedule
  3. Publish your waiver
  4. Connect Stripe to take payments

Each step has a button that opens the exact form that completes it — Create a plan, Add a class time, Publish a waiver — so you can work straight down the list without hunting through the sidebar. Every step also has Ask assistant, which hands that one step to the assistant panel instead: tell it what you charge or when you run classes, and it drafts the change and shows you a confirm card. Nothing is saved until you press confirm.

The steps tick themselves as the underlying data appears — there is no “mark as done”. Finished steps stay listed with a Review link, and the tile stays on Today for good, so this is also where you come back to change your pricing, timetable or waiver later.

Connecting Stripe is listed but does not gate “done”. You can author plans, build a schedule, and take bookings on free or already-paid memberships without it; what it unlocks is charging. Setting up your catalog first and connecting Stripe when you are ready is a perfectly reasonable order to work in — see Connecting Stripe.

The rest of this page is the manual route for the same things, plus the setup that comes after them.

3. Fill in your gym details

Settings → Gym settings has three tabs:

  • Gym profile — name and contact details.
  • Policies — the gym-wide booking rules (booking window, late-cancel cutoff, no-show grace). Plans can override some of these per plan; see step 5.
  • Waivers — step 6.

While you’re in Settings, Branding takes your logo and brand color, which members see in the app.

Check your settlement currency

Billing → Settings holds your settlement currency — the single currency every plan, invoice, product and charge is priced in. A new gym starts on USD unless you chose otherwise when you signed up, so if that’s right you have nothing to do here.

If it isn’t, change it now, before you sell anything. The currency can only be changed while the gym has no invoices, memberships, sales, gift cards or payroll exports — after that it’s fixed, because a paid invoice can’t be restated in another currency. When you do change it, any prices you’ve already entered are re-labelled, not converted: a plan at 90.00 stays 90.00 in the new currency, so review your prices afterwards.

Set your sales-tax rate

Also in Billing → Settings: your sales-tax rate. A new gym starts at 0% — OurGym never guesses a rate, so nothing is added to a member’s charge until you set one. Enter the rate you’re required to collect.

If you have sites in different tax jurisdictions, or a plan that’s taxed differently, you can override the rate per location or per plan later; the most specific setting wins. Leaving one blank means “inherit”; setting it to 0 means “charge no tax on this one”.

4. Add your locations

Settings → Locations. Add one row per physical site. Each location carries its own time zone, and this matters more than it looks: every class time you enter later is that location’s local wall-clock time (“gym time”). A 6:00am class stays at 6:00am through daylight-saving changes because of this.

Single-site gyms still need one location.

5. Create your plans and pricing

Billing → Plans & pricing → New plan. Each plan starts from one of three shapes:

ShapeWhat it isTypical use
MembershipRecurring charge on a cycleUnlimited monthly, 3x/week
Class packA fixed number of visits, optionally expiring10-class pack
Drop-inA single visitWalk-ins, guests

The fields that decide what a plan actually buys:

  • Class-access rules — which class types or programming tracks this plan can book. A plan with no rules can book anything; add rules to build an “Open Gym only” or “Yoga only” tier.
  • Visit limits — unlimited, or N visits per week/month.
  • Booking window (days) — how far ahead these members can book. Leave it on the gym policy default, or override it to give a premium tier a head start.
  • Waitlist priority tier — 0–100, higher gets offered a freed seat first.

Plans are immutable once someone has bought one. You cannot edit a price or term in place. Use Clone with changes to create the next version, then migrate members to it and archive the old one. Archived plans stop being sellable but keep working for the members already on them, and you can unarchive at any time. This is deliberate: it means a member’s price is whatever they agreed to, permanently, and no edit can quietly re-price a roster.

6. Publish your waiver

Settings → Gym settings → Waivers → Publish your first waiver.

Paste the full waiver text. It is shown to members exactly as written and is never machine-translated — if you serve more than one language, publish a version per language and mark which one legally governs.

Publishing a new version later re-prompts every member to sign it on their next booking or check-in. You can also send a one-off “please re-sign” notification; members without app access won’t get it, and instead show up on the unsigned list for the front desk to catch.

7. Build your class schedule

Class types first, then recurring time slots on top of them. The full walkthrough is in Scheduling classes — do that now, then come back here.

8. Bring your members over

Three ways in, and you’ll probably use all three:

Import from your old system. Settings → Integrations & exports → Import. Pick your source system — PushPress, Wodify, or Zen Planner — and upload its CSV export. Always run Preview (dry run) first: it reports how many members and opening balances it found, which plans it couldn’t match to one of yours, and any per-row warnings, without writing anything. Fix the plan mismatches by creating or renaming plans, then re-preview until the warnings are ones you’re happy to accept.

Share your join link. Settings → Join links & QR codes gives you a short link and a printable QR code. Someone points their phone’s camera at it, signs themselves up, signs the waiver, and pays — you touch nothing. Put the QR on the front desk and the link in your Instagram bio. See Join links and QR codes for per-class and per-plan codes, custom short links, and scan counts.

Add someone by hand. Members → All members → + New, for the person standing in front of you.

Prospects who aren’t members yet belong in Members → Leads, which tracks them through to conversion.

9. Set up the front desk

  • Schedule → Check-in is the staffed roster view: today’s classes, who’s booked, one tap to check them in, and a walk-in flow for people without a booking.
  • Settings → Devices pairs a tablet as an unattended check-in kiosk, or a screen as a TV board showing today’s classes and the whiteboard. The two are separate purposes on purpose — a kiosk can’t display the board, and a board can’t take check-ins, so a screen on a public wall is never a way in.
  • Settings → Door access connects 24/7 door entry, if you have it.

10. Invite your staff

Staff → Staff & roles. Roles decide what each person sees and can change; get them right before you hand out logins. See Onboarding staff and staff roles.

What “done” looks like

You’re live when:

  • Every location has the right time zone
  • At least one sellable plan exists, priced in your settlement currency
  • A waiver is published
  • Stripe is connected and says it can take charges (only needed to charge anyone)
  • Next week’s classes appear on Schedule → Calendar
  • A test member can join and book a class from your QR code end to end
  • Your staff have accounts with the right roles

Do the test sign-up yourself, on a phone, by scanning your own QR code with the camera app. It’s the fastest way to find the one setting you missed — and it is exactly what a prospect standing in your doorway will do.

Coming from another system?

If your gym already runs on PushPress or a similar platform, you don’t have to rebuild by hand. While your setup is unfinished, OurGym asks you outright — “Are you moving from another gym system?”, on Settings → Getting started and on the Today page’s setup card, with Yes, import my gym and No, I’m starting fresh. You’re asked once: the answer is remembered, and the assistant won’t raise it again. (If you decline and later change your mind, a Coming from another system after all? link stays on Getting started.)

Say yes and the import wizard opens on Getting started while the assistant starts the same conversation in chat — use whichever suits you, step by step: drop your member and staff CSV exports on the wizard (or attach, drag, or paste them in chat — they’re told apart automatically), give it your public booking-site address, and add screenshots of your old plans/discounts/products pages (also recognized automatically). Everything stages into a review screen (Setup → Import), where clean rows arrive pre-ticked for you to approve in one click, exceptions are flagged with exactly what’s wrong and the field to fix on the row itself (a member with no next billing date can never be imported into a silently-unbilled state), and nothing is created until you commit each section — plans first, then schedule, staff, members, and memberships. The full walkthrough is in Migrating from PushPress.

Your members’ cards come across too. Once you connect Stripe (the same account your old system charged on — see Connecting Stripe), the import reads the customers already on it and matches them to your members, so nobody has to re-enter a card. Matching is deliberately cautious: an exact email match is automatic, a name-and-phone match is suggested for you to confirm, and anything else waits for you. Subscriptions your old system created are cancelled at the end of the period they are paid through, and your first OurGym charge is anchored to that same date — so nobody is billed twice for one month, and nobody loses days they already paid for. The Cards on file tab on the review screen is where you work through it.

Two guarantees while you migrate. First, imported members are never texted, emailed, or charged — the gym sits in sandbox mode, with a banner across the top of every screen saying so, until you explicitly go live. Second, imported phone numbers always start opted out of SMS; members re-consent themselves.

When something’s wrong

Help sits in the top bar of every screen, to the left of + New. It opens one box: say what happened, and pick whether it’s something broken, an idea, or a question. It goes to the people who build OurGym — it is not a message to your gym’s staff, and members never see it.

Send it from the screen the problem happened on. We attach the page you were looking at and its address, along with which browser and app version you were using — enough to see the same thing you did without asking you to reproduce it. Anything that looks like a secret in the address (a sign-in code, an invite token) is stripped before the report is stored. Nothing else about your session is collected.

Anyone signed in can send one — coaches and front-desk staff included. You don’t need to be the owner to say the calendar looks wrong.

Banners across the top of every screen

Some problems are ours, not yours, and when one is affecting your gym we say so in a banner that sits above every screen until it’s resolved. You can’t dismiss it — it stays because the situation does.

The one you’re most likely to see says members can’t sign in to the member app. Members log in with a code sent by text message, and text messaging is switched on per region and per account; until that’s finished, nobody can get into the member app, book from their phone, or see a workout there.

Everything you use here keeps working normally while that’s true, and so does the front desk: you can still check members in, take payment, and run classes as usual. It’s worth knowing about mainly so you recognise the call — a member saying “the app won’t let me log in” is this, not their account. There is nothing for you to fix, and the banner disappears on its own once it’s sorted.

Note this also affects the “book a class from the join link end to end” check in the go-live list above: you can still send the link and see the sign-up, but the texted code won’t arrive to finish it.

Where to go next


Something here out of date, or a step that didn't work? Tell us at support@ourgym.app.