Skip to main content

Check-in

Check-in records every visit of a membership pass holder: at the front desk by scanning the member QR or searching a phone number, with a QR code on the door, or from the class roster. Each successful check-in uses the customer's pass according to its terms.

Check-in is a business feature on the Growth, Pro, and Enterprise plans, and needs Memberships & passes on. You can rename "Check-in" with What do you call checking in? in Shop settings.

Dashboard menu​

While the feature is on, the Check-in menu shows in the web Dashboard:

PageWhoWhat it holds
Class RosterOwner, Admin, Cashiertick who came to each session
Check-in LogOwner, Adminevery check-in, and voiding a check-in
Check-in ReportsOwner, Adminbusy hours, attendance per class, and members not seen lately
Door CodesOwner, Adminprinting QR posters for self check-in
Check-in SettingsOwner (others read only)see Settings

In the Dashboard app (Android), the log is under Check-ins, the reports under Check-in reports, the roster under Attendance list (Booking shops), and the settings under Business features, with the Settings button on the Check-in card.

Member QR​

While Check-in is on, the customer's storefront account shows a QR that changes every 30 seconds, with a "New code in ...s" countdown. The QR is on the profile and under My Membership (the Show my Membership code button). An old QR no longer works, so a screenshot is useless to anyone else.

  • the QR keeps showing without internet until its codes run out, then the customer is asked to connect to refresh the code
  • when the shop uses booking attendees, the customer picks who the QR is for (for example their child)
  • the POS cart scanner can still read this QR to pick the customer, as before

Front desk (POS)​

The Check-in tab in the POS (following your check-in word) can be used by Owners, Admins, and Cashiers:

  1. Scan the member QR with the camera (the Scan QR button), or Or search by phone (at least 6 digits, the end of the number is enough), then pick the person
  2. when the member has saved attendees, pick Who is checking in?
  3. the member card shows full screen: photo, name, masked phone number, the pass used, credits left or valid-through date, and the result: OK (green) or DENIED (red) with the reason
  4. when the member has bookings today, the card lists Today's bookings with an Attend button
  5. the Recent list shows today's visits at your branch

The same tab has a Roster view for booked sessions (see Class roster). A Cashier whose login is tied to one branch always checks in at that branch.

Which pass is used​

When a member holds several passes, Etalasse picks one that can be used and covers this visit, in this order: Time-based first, then Time + credits, then Credits (no credit is used while an unlimited pass exists), then the one ending soonest.

  • Credits and Time + credits passes lose 1 credit per check-in ("Checked in. 1 credit used.")
  • a Time-based pass is not debited, but the check-in counts toward its limit per day and per week
  • a pass whose coverage is only certain calendars, services, or categories is for bookings only, not walk-in visits. A branch-limited pass only works at that branch
  • checking in for an already booked class does not use a pass again, because the booking was already paid (in money or with a pass)

Scanning twice​

A second check-in for the same member, holder, and pass within 10 minutes (adjustable) returns the first check-in ("Already checked in at .... Nothing was charged.") and does not take another credit. Two cashiers scanning the same QR at the same moment also take only one.

Denial reasons​

The reason names below match the Check-in Log. The POS and the member's phone show longer sentences with the same meaning.

ReasonMeaning
QR code not valida forged QR, one from another shop, or the customer was not found
QR code expiredthe QR is older than 1 minute. Ask the member to show the live code
No passthe member holds no pass in this shop, or the holder is someone else
Pass not started yetthe pass starts on a later date
Pass expiredthe pass has expired
Pass frozenthe pass is frozen, or today falls in a freeze
Waiting for renewal paymentthe pass is past due and waits for the renewal invoice to be paid
No credits leftno credits left
Usage limit reachedthe per-day or per-week limit is used up
Pass doesn’t cover walk-insthe pass is only for booked classes or services
Pass is for another branchthe pass only works at another branch
Outside access hoursoutside the Access hours you set
Booking not validthe booking is not this member's, or it was canceled / a no-show

When several passes fail, the reason shown is the most actionable one.

Door code (self check-in)​

When Self check-in with the door code is on, each branch has a door QR code. Open Check-in > Door Codes, pick the Paper size (A4 or A5) and the branches, then Print posters. Members scan the poster with their phone camera, sign in if needed, then answer "Check in at South Branch?" (the branch name) with the Check-in now button. The result is You're checked in or Can't check in with the same reasons.

A door code is not secret (it hangs on a wall): what proves the visit is the member's account, a valid pass, and the scan-twice rule. If a photo of a poster spreads, use Reprint all in Check-in Settings: every printed code stops working and you print new ones. Self check-in is off by default.

Class roster​

Check-in > Class Roster shows the day's booked sessions (move with Previous day, Next day, or pick a date), grouped per session, with attendee names and "... of ... attended". Tick who came:

  • it is recorded as a check-in for that booking, without using a pass
  • the booking is completed following the rules of Completing Bookings. Before the session starts, the booking completes automatically once the session has started
  • an attended booking is never marked as a no-show automatically

Cashiers may mark attendance for any booking in the shop.

Log and reports (Owner and Admin)​

  • Check-in Log: every OK and Denied check-in, filtered by From and To dates (at most 92 days), Branch, Result, Method (Member QR, Door code, Phone search, Roster, Manual), and Reason
  • Void check-in in the log, with a reason: a credit it used is given back to the pass. A booking that was completed stays completed. A voided check-in is marked Voided
  • Check-in Reports: the Check-ins, Denied, Days with check-ins, and Busiest hour figures, then:
    • Busy hours: an hour x weekday map (shop time)
    • Per day: successful and denied check-ins per day
    • Attendance per class: per service and start time: sessions, booked, attended, no-show, canceled, and attendance rate
    • Not seen lately: holders of an active pass who have not checked in for more than Not seen for (days) (or never), with a Send a WhatsApp message button. For bulk messages, build a segment with the last check-in rules (see Membership Renewals)

The log and reports stay readable when the feature is switched off.

Settings​

The shop owner sets Check-in up in Check-in > Check-in Settings (also linked as Check-in Settings from Business Features). Admins and Cashiers can only view.

SettingDefaultMeaning
Self check-in with the door codeoffcustomers scan the poster at the door with their phone and check in by themselves. A valid pass is still needed
Ignore repeat scans for (minutes)101-720 minutes. A second scan of the same person within this time is not charged again
Access hours (Opens at and Closes at)empty = any timeshop time, for front-desk and door check-ins. A closing time before the opening time runs past midnight. The roster ignores these hours
Keep check-ins for (months)241-120 months. Older check-ins are deleted automatically every night, even while the feature is off
Reprint allmakes every printed door code stop working. Print and hang the new ones from Door Codes

Privacy​

  • Etalasse stores no location, IP address, device, or QR content for check-ins
  • check-in data is deleted automatically after the retention period
  • the phone search only shows the name, a masked number, photo, attendees, and the number of active passes

Integrations​

Every new OK check-in sends the checkin.ok webhook, for example to open a turnstile or log the visit in another system. Etalasse does not build hardware integrations itself.

For server operators

Member QR codes and door codes are signed with the server secret CHECKIN_QR_SECRET (at least 32 characters), which is generated directly on the API server and is the same on every API server. Without it, the Dashboard shows "Check-in QR codes aren’t set up on the server yet" and the POS asks staff to search by phone, while phone search, the roster, the log, and the reports keep working.