> ## Documentation Index
> Fetch the complete documentation index at: https://docs.1club.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Access Control

> Per-club check-in mode, member enrollment, and identification methods.

In a nutshell, Access Control settings decide how members identify themselves at your door and whether the front desk can check in walk-ins who don't have an account.

## Overview

Access Control lives in **Settings → Access Control Settings** and is configured **per club**. Each club has its own check-in mode, enrollment options, and accepted identification methods so that a multi-club organization can run a strict members-only flagship and a kiosk-style satellite at the same time.

Key capabilities:

* **Check-in Mode** — Strict (account required) or Flexible (allow anonymous walk-ins).
* **Member enrollment** — Let members enroll an identification method (QR, card, PIN) themselves from the portal.
* **Identification methods** — Choose which combinations are accepted at the door.

If you're picking how strict your check-in flow should be, read [Check-in Models](/reference/check-in-models) first.

## Per-club configuration

Open **Settings → Access Control Settings**. Each club appears as its own block. Changes for any club are batched and saved together via the floating **Save** alert at the bottom of the page.

## Check-in Mode

The **Check-in Mode** toggle has two states:

* **Strict** — A contact with a booking is required. Walk-ins without an account cannot be checked in.
* **Flexible (Anonymous) Check-in** — Staff can check in walk-ins without a member account.

The in-app description reads: "When enabled, staff can check in walk-ins without a member account. When disabled, a contact with a booking is required."

### How Check-in Mode interacts with booking policies

Check-in Mode and the **Enforce payment** setting (in your [Booking Policy](/operations/booking-policies)) work together:

* **Strict + Enforce payment: None** - Members must have a contact and an active booking. Front desk records the check-in against the booking.
* **Strict + Enforce payment: At check-in (or At booking with a balance)** - Same as above, plus the front desk must confirm an active membership, an external program, or collect direct payment before the check-in is recorded.
* **Flexible + Enforce payment: None** - Anyone can be checked in, including guests without an account. The check-in is recorded with no contact link.
* **Flexible + Enforce payment: At check-in** - Anonymous check-ins are still allowed, but only when the front desk also collects payment (membership, external program, or direct payment). A "no contact and no payment" check-in is rejected.

## Anonymous check-ins in practice

When **Check-in Mode = Flexible**, the front desk can record a check-in without picking a contact:

1. From the check-in flow, choose to record an anonymous check-in.
2. Optionally select what they're entering for (class, area, instructor).
3. If your booking policy enforces payment at check-in, collect a direct payment now.
4. Save.

What gets recorded:

* A check-in row with no member/contact link.
* A reference to the class, area, or instructor (if selected).
* A payment transaction (if you collected one).

What does **not** happen:

* No membership usage is decremented (there's no member to attribute it to).
* The check-in won't show up in any single member's history.

Anonymous check-ins are best for guests, trial visitors, and one-off drop-ins. For repeat members, create a contact even if it's lightweight — that way you can track usage and follow up.

## Member enrollment

Turn on **enrollment** to let members register an identification method themselves from the member portal (instead of staff doing it manually).

When enrollment is enabled, pick which methods you accept:

* **QR Code** — Members enroll a QR code in the portal and scan it at the door.
* **Access Card** — Members enroll a physical access card (NFC/RFID).
* **PIN Code** — Members enroll a numeric PIN to type at the door.

You can enable any combination. If a method is off, members can't enroll it from the portal — you (as staff) can still register one for them manually.

## Worked examples

### Kiosk-style walk-in club

You run a small studio with lots of trial visitors and want minimal friction at the door.

* **Check-in Mode** — Flexible
* **Enrollment** — On, with QR Code enabled
* Pair this with a [Booking Policy](/operations/booking-policies) that has **Enforce payment** set to **At check-in**, so the system still collects payment from anonymous walk-ins.

### Strict members-only club

You run a class-based gym where every member has an account and bookings are mandatory.

* **Check-in Mode** — Strict
* **Enrollment** — On, with all three identification methods enabled
* Pair this with a [Booking Policy](/operations/booking-policies) that has **Enforce payment** set to **At booking** and **Check-in required** on.

## Tips & best practices

* **Match Check-in Mode to your front-desk culture** — If staff are used to handling walk-ins, Flexible saves them friction. If your model depends on bookings, Strict prevents accidental "free entries."
* **Don't rely on anonymous check-ins for revenue tracking** — Anonymous rows aren't attributable. If you want to know which members visit most, get them to create a contact.
* **Multi-club orgs: use different settings per club** — A flagship club might run Strict while a community-run satellite runs Flexible. Both are fine.

## Troubleshooting

**Issue**: I turned on Flexible but staff still can't check in walk-ins
**Solution**: Confirm the booking policy that applies at this club doesn't have a check-in payment requirement that no entrance method satisfies. Anonymous + no payment is rejected when **Enforce payment** is set to **At check-in**.

**Issue**: Members can't enroll their QR code from the portal
**Solution**: Check that **Enrollment** is on and **QR Code** is in the list of identification methods for that club.

**Issue**: A check-in shows up without a member
**Solution**: That's an anonymous check-in. They only appear when **Check-in Mode = Flexible**. If you didn't expect them, switch the club back to Strict.

## Related

* [Check-in Models](/reference/check-in-models) — Pick how strict your check-in flow should be.
* [Booking Policies](/operations/booking-policies) — Payment and check-in enforcement at booking time and door time.
* [Attendance](/members/attendance) — Review and manage check-in records.
