> For the complete documentation index, see [llms.txt](https://docs.range-mate.co.uk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.range-mate.co.uk/for-club-admins/membership-lifecycle.md).

# The Membership Lifecycle

A **User** is anyone with their own login to your club — applicants, members, guests and visitors all have a User account. (Under-18s are usually [Junior Members](/for-club-admins/junior-members.md) instead, who don't have their own login and belong to a parent User's account.)

Every User has two things that determine what they can see and do:

* a **state** in the membership lifecycle (e.g. applied, probation, member), and
* one or more **roles** (e.g. member, admin).

{% hint style="info" %}
You can now **define the conditions** for moving between states — for example, what a member must do to pass probation — rather than every move being a manual decision. See [Membership workflows](/for-club-admins/membership-workflows.md). The manual actions below still work; workflows sit on top of them.
{% endhint %}

## The membership lifecycle

Range Mate models membership as a lifecycle. A person moves through it as admins review and progress their application. The main states are:

* **Applied** — has submitted an application and is awaiting a decision.
* **Interview** — invited to your club's interview stage.
* **Waiting list** — held on the waiting list for now.
* **Probation** — accepted onto a probationary/training membership.
* **Approved** — a full member.
* **Guest** / **Visitor** — limited-access accounts (see [Account Types](/for-members/account-types.md)).
* **Rejected** / **Left club** — no longer active; their records are retained.

### Moving people through it (admin Actions)

From a user's profile, admins use the **Actions** menu to move them between states. Each action is deliberate and explained in the app — the key ones are:

| Action                                | What it does                                                                                                               |
| ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Apply**                             | Starts the application process for full membership.                                                                        |
| **Invite**                            | Sends your interview-invite email and moves them into the interview stage.                                                 |
| **Waiting List**                      | Places an applicant on the waiting list and notifies them.                                                                 |
| **Approve**                           | Puts the user on **probation**, creating a probationary membership that starts today. An invoice is sent automatically.    |
| **Passed Training**                   | Ends probation today and creates a full membership of the chosen type, valid until the end of the current membership year. |
| **Skip**                              | Skips the whole workflow and approves the user for full membership right away.                                             |
| **Set as Guest** / **Set as Visitor** | Grants guest/visitor access (and reinstates a login for someone who previously left).                                      |
| **Invite to Upgrade**                 | Invites a guest to upgrade to full membership.                                                                             |
| **Reject**                            | Rejects an applicant and emails them; their details are retained.                                                          |
| **Reapply**                           | Puts a rejected or former user back into the application workflow.                                                         |
| **Leave Club**                        | Ends any current membership today and stops their login working.                                                           |

{% hint style="info" %}
Some actions have conditions. **Invite** and **Approve** require the applicant's **proof of ID to be verified** first. **Invite** and **Waiting List** send a club-specific email, so they stay disabled until you've written your club's own version of that email. See [email templates](/for-club-admins/email-templates.md).
{% endhint %}

{% hint style="warning" %}
**Approve** and **Skip** create a billable membership, so they respect your club's billing cap — if approving someone would exceed your plan's member limit, you'll need to adjust your subscription first.
{% endhint %}

## Verifying ID and police checks

When you open an applicant's profile, a **Needs doing** card at the top gathers the actions still outstanding for them, so you don't have to hunt around:

* **Approve their ID.** View their proof of ID, then approve it. **Invite** and **Approve** stay disabled until this is done.
* **Police check.** Send a check, or skip it if your club doesn't need one for this person. Once you've sent one, the card lets you record the result when it comes back as **passed** or **failed**, and you can resend at any time. The current state shows on their profile.

{% hint style="info" %}
A workflow stage can wait on either of these. Add an **ID approved** or **Police check cleared** requirement (see [Membership workflows](/for-club-admins/membership-workflows.md#requirement-types)) and the member won't move on until it's done. Skipping a police check does not count as cleared, so **waive** the requirement if you want to let someone through without one.
{% endhint %}

## Roles

Roles control permissions. Your club starts with a set of default roles — **admin**, **member**, **trainee**, **applicant**, **bookings manager**, **guest** and **visitor** — and you can create your own (for example Range Officers) under **Settings → Roles**.

A user can hold more than one role, and roles are often assigned automatically as part of the lifecycle (applying adds the *applicant* role; approving a member assigns the role tied to their membership type).
