How-To Guides

Step-by-step walkthroughs

How to do every task in GymLedger — for gym owners, staff and members.

Gym owners

Set up QR check-in

Members scan a code on their way in and their attendance is recorded. Staff scan a different code to clock in for their shift. Both codes live on one screen in your dashboard.

Steps

  1. In the sidebar, open Sessions → QR Check-In.

  2. You get two cards:

    • Member Check-In QR — Members scan this to record attendance

    • Staff Clock-In QR — Staff scan this to clock in for their shift

  3. Show the member code where people come in — a tablet or an old phone propped at the desk works well.

  4. A member scans it with their phone camera. It opens member.gymledger.in and records their check-in. Staff scanning the staff code land in the staff portal instead.

Two ways the code can work

Each card shows a badge telling you which mode you are in. You change it in Settings.

Dynamic (the default) — the code changes on a timer. The card shows Refreshes in 30s counting down. This has to stay on a screen, because a photo of it stops working almost immediately. It is the safer choice: nobody can take a picture of it and check in from home.

Static — one code that lasts. The card shows Expires and a date, seven days out by default, and a Print QR button appears. Print it, laminate it, stick it on the wall. Easier, but anyone who photographs it can check in from anywhere until it expires.

Both cards have a button to make a fresh code — Refresh Now on dynamic, Generate New QR on static.

Good to know

  • A scanned dynamic code stays valid for about two minutes, not the 30 seconds on the countdown. The timer is how often the picture on screen is redrawn. Somebody who scans just as it flips still gets in.

  • A static code stops working on its expiry date. Tap Generate New QR and print again — the old printed sheet is then dead. Set a reminder, or the door code quietly stops working one morning.

  • One check-in per member per day. Scanning a second time doesn't create a duplicate. Depending on your settings it either says they are already in, or offers to check them out.

  • Members get checked out automatically. If nobody taps check-out, the app closes the visit after your default session length — two hours unless you change it in Settings.

  • The staff code is a different code. It goes to the staff portal and only works for people who have a staff login. A member scanning the staff code gets nowhere, and vice versa.

  • Members do not need to be logged in to scan. The code takes them where they need to go.

When it doesn't work

A member scans and gets "Invalid or expired QR code". On dynamic, they scanned a photo or a screenshot rather than the live screen — that is the whole point of dynamic mode. On static, the code has passed its expiry date. Generate a new one and reprint.

There is no Print QR button. You are on dynamic mode, where printing is pointless. Switch to static in Settings first.

The card just says "Loading QR…" and stays there. Refresh the page. If it keeps happening, check you have a connection — the code is fetched fresh each time rather than stored on the device.

Nothing shows in Member Check-Ins after people have been scanning. Check the date on the check-ins page — it opens on today. Also check the member scanned the Member Check-In QR and not the staff one.

<!-- SCREENSHOT: QR Check-In page with both cards, one dynamic with countdown and one static -->

Ready to run your gym on GymLedger?

Start Free Trial