Overview
Member Check-In lets gyms, studios, and any subscription business verify customers at the door. Staff scan the member's QR code or search their name, the system checks their subscription on the spot, and the visit is recorded:
- Active monthly/yearly plans — check in, showing the plan and validity date.
- Session packs (e.g. 10 sessions) — check in and deduct one session automatically. The pack expires when the last session is used.
- Expired, paused, cancelled, or no subscription — entry is denied with the exact reason, and the attempt is still logged so you can follow up with a renewal offer.
The Membership QR
Every customer has a permanent QR code (their customer code). It never changes — renewals, plan changes, and multiple subscriptions all use the same QR. The subscription check happens at scan time, so an expired member's QR still scans but shows "expired".
Customers receive it automatically after buying a subscription at the POS:
- A full-screen QR appears on the sale-complete screen for them to photograph.
- The receipt prints a MEMBERSHIP CHECK-IN QR block.
To reissue a lost QR: open the customer in Sales & CRM → Customers and click Membership Pass (printable), or tap the QR icon next to the customer in the POS customer list or Contacts.
Checking Members In (Web)
- Go to Sales & CRM → Check-In.
- Click Scan QR and point the camera at the member's QR — or type their name, phone, or customer code in the search box.
- A green card shows an active membership with plan details; press Check In.
- A red card shows why entry is denied (e.g. "Membership expired on 15 June 2026") with a Log Attempt button and a shortcut to renew the subscription.
- If the member already checked in today, a warning is shown (re-entry is still allowed).
Checking Members In (POS)
- Enable it once in Settings → POS → Member Check-In.
- A Member Check-In entry appears pinned at the top of the POS menu.
- The screen has a live camera QR scanner plus a search box that works with the offline customer list.
- Verification needs an internet connection — subscription status is always checked live.
Requiring a Photo per Visit
Turn on Settings → POS → Member Check-In → Require a photo on every check-in to make staff capture a camera photo of the member before an allowed check-in can be recorded (both web and POS). Photos appear:
- as thumbnails in the Attendance report, next to each visit, and
- in the Gallery under a dedicated Check-Ins tab.
Denied "log attempt" records don't require a photo.
Attendance Report
Sales & CRM → Attendance shows the day's check-ins by default with date and result filters:
- Stat cards: total attempts, allowed check-ins, unique customers, and denied attempts.
- Each row shows the time, member, plan, allowed/denied badge with reason, session deduction, staff member, and notes.
- Click the history icon for a member's full visit history.
- The denied count is your renewal call list — every denied visit is a customer who showed up wanting in.
Check-ins also feed the membership analytics in Reports → Subscriptions (utilization timeline, dormant members, last visit per member).
Permissions
Check-in requires the Check In Customers capability (granted to Manager and Cashier roles by default) or Manage Subscriptions. Store owners always have access.
Which Subscriptions Admit at Check-In
Not everything you sell as a subscription should open the door. Each subscription product has a Counts for Member Check-In switch on its edit form:
- ON — the subscription appears at check-in and admits the member (memberships, session packs).
- OFF (the default) — the subscription never appears at check-in (registration fees, joining fees, add-on charges). It still counts toward prerequisites (below).
The switch is read live: flipping it applies immediately to subscriptions customers already bought. If you enable member check-in for your store, mark your membership products first — a store with nothing marked denies every scan with "no subscription on file".
For special cases, each customer's individual subscription can override the product: on Subscriptions, the eye button next to a subscription cycles inherit from product → always visible → always hidden. Use it for one-off comps, or for subscriptions whose product was deleted and can no longer be configured.
Requiring a Membership for Dependent Services
Some services should only be usable alongside an active membership — personal-training packs are the classic case. On the product edit form, tick the qualifying products under Requires Active Subscription To and choose whether the customer must hold any one of them (e.g. Monthly OR Quarterly) or all of them (e.g. Membership AND Locker):
- Enforcement happens at check-in: a PT pack shows "Needs [membership]" and won't admit while the required membership is missing or lapsed. Renewing the membership unfreezes the pack — no sessions are lost.
- Selling is not blocked: the POS shows a warning when the customer doesn't hold the requirement (buying both together in the same cart satisfies it), so front desks are never stuck mid-sale.
- The rule is locked in at purchase. Editing the product's requirements affects future sales and renewals only — subscriptions already sold keep the deal they were bought with, and packs sold before any rule existed are never retroactively restricted.
Choosing Which Subscription a Visit Uses
When a member holds more than one usable subscription — say a monthly membership plus a session pack — the POS check-in screen shows a picker asking "What is this visit for?". Regular gym visits go on the membership (nothing is consumed); a training session goes on the pack (one session is deducted). The system pre-selects the sensible default (a time-based plan over a session pack) so a plain tap does the right thing. Requires POS app 2.31+.
When a Subscription Can't Be Used
Subscriptions on file that can't admit the current visit appear in a grey "Not usable for this visit" list with the exact reason (POS app 2.32+):
- Starts [date] — a future-dated term, e.g. a renewal bought in advance.
- Expired / Paused / Cancelled / Payment pending — the subscription's own status.
- No sessions left — a depleted session pack.
- Needs [product] — a prerequisite membership is missing or inactive (see above).
If a membership you expect to admit shows up here (or not at all), check three things on the web portal: the product's Counts for Member Check-In switch, its Requires Active Subscription To checkboxes, and the subscription's dates on the Subscriptions page.
Check-In on a Phone
From POS app 2.32, opening Member Check-In on a phone shows the camera full-screen — hold it up, scan the QR, done. The search field sits at the bottom: start typing a name, phone, or customer code and the camera swaps for the matching customers; clear the search to bring the camera back. After a scan or a search pick, the verification screen takes over the display, and recording the visit (or tapping refresh) returns to the camera for the next member. Tablets keep the camera-beside-results layout.
The Face-Check
The verification screen shows the member's photo in a large circle — green border when entry is allowed, red when denied, with a matching badge — so staff can confirm the QR belongs to the person holding it. The photo shown is, in order:
- The store-captured customer photo (taken at the counter or uploaded on the customer record), or
- The member's KukuExpress app profile selfie, when the store never captured its own photo.
Members without either simply show the status icon. On a denied check-in, a small receipt icon next to the reason opens the customer's past purchases — useful for pitching the right renewal on the spot.
Photo Capture When Selling a Membership
Subscription products have a Require photo capture at POS switch (product edit form, next to the check-in settings). When it's on, selling that product prompts the cashier before payment:
- No store photo on file — the camera opens to photograph the customer. The photo saves onto their customer record and becomes the face-check photo at the door.
- Store photo already on file — it's shown for visual confirmation, with a Retake option if it's outdated.
- An app profile selfie never substitutes here — identity photos must be store-captured, so avatar-only members still get photographed once.
- Works for memberships sold inside bundles, and requires a customer to be attached to the sale (the POS will ask if one isn't).
Bundles That Include Memberships
A bundle containing memberships or session packs activates each of those subscriptions automatically at sale — same dates, stacking, and rules as selling them individually, with the activity log noting they came from the bundle. If you sold such bundles before this fix and the subscriptions never appeared, your administrator can repair them from the server.
Proof of Use (Photo and/or Signature)
A product can carry three kinds of requirements, each enforced at a different moment:
- Sale Requirements — enforced once, at the register, when the item is sold: require a customer, or capture a customer photo (the member's ID shot).
- Consumption Proof — session packs only: each check-in that uses a session must capture the member's photo and/or signature. A session used is money spent; this proves who spent it.
- Usage Proof — monthly/yearly memberships: every check-in that rides the membership captures the member's photo and/or signature. Nothing is counted down, but you see exactly who is using the subscription.
Consumption and usage proof each have independent Photo and Signature switches on the product's create and edit forms (shown with the subscription settings). Switch on either, or both. Changes apply immediately, including to packs and memberships customers already bought.
Details worth knowing:
- The requirement follows which subscription the visit uses: if the cashier picks a different plan for the visit, that plan's rules apply.
- Back-dated check-ins are exempt — when backfilling a missed visit, the member isn't standing at the counter anymore.
- The captures are stored with the visit and shown in the Attendance report — photo thumbnail and signature side by side, each click-to-enlarge. The report's Requirements column shows each plan's rules, and the Plan name links to the product.
- The web Check-In page enforces all of this immediately. POS check-ins need POS app 2.38 or later — don't flag products until your devices are updated, or the POS will refuse the check-in without offering the capture. (Builds 2.33–2.37 handle session packs only, always asking for both photo and signature.)
Full-Screen Face Check (POS 2.39)
When a member with a stored photo scans in, the verification screen now shows their photo near full-screen with the allow/deny badge on top — big enough to match the face from behind the counter, instead of the small circle earlier builds showed. Members without a photo still get the plain status icon.
Day-Restricted Memberships (Allowed Check-In Days)
Some plans are only good on certain days — a karate class that runs Monday and Wednesday, another on Sunday and Monday, and an All Access plan for every day. Each subscription product can carry its own Allowed Check-In Days:
- On the product's create or edit form, under the subscription settings, tick the days the plan admits (Mon–Sun). Leave every day unticked for a plan with no restriction (All Access).
- At check-in — the web Check-In page and the POS — every plan shows a Mon–Sun strip with the allowed days filled and today outlined, so staff can see immediately whether the membership is right for today.
- A member on the wrong day is denied with "Not valid today — Mon · Wed only", and the attempt is logged in the Attendance report like any other denial. Sell a day pass or the right plan from there.
- A member holding several plans (say Mon · Wed and Sun · Mon) is automatically checked in on whichever plan covers today; when more than one covers today, the cashier picks.
- Back-dated check-ins are judged on the weekday of the back-dated date.
The rule is read live from the product: change the days on the product and every member on that plan follows the new schedule immediately. For an individual exception — one member allowed an extra day, or a subscription whose product was deleted — use the calendar button on that subscription's row on the Subscriptions page to set days for that subscription only (or tick every day to lift the restriction for that member). The Subscriptions page shows each subscription's days under the plan name, and every change is logged in the subscription's history.
"Today" is judged on your store's own timezone (set on the store profile), not on the device. POS check-ins need an up-to-date POS app to show the day strip and the "Not valid today" wording; the web Check-In page works immediately.