# Eligibility rules

> Restrict who can book a session, buy a pass, or join a package using rules based on age, gender, profile fields, membership, and groups.

Canonical: https://www.clubpal.app/docs/general/eligibility-rules
Section: General

Eligibility rules let you control who can purchase a membership package, a pass, or a store product, book a session or a facility, buy tickets to an event, or read a page on your site. You can use them to limit access by age, gender, a custom profile field value, previous membership history, active membership status, [member groups](https://www.clubpal.app/docs/membership/member-groups), or required qualifications.

## When to use eligibility rules

Use eligibility rules when a package, pass, product, or session should only be available to a specific group of members. Common examples include:

- Junior packages for members under a certain age.
- Gender-specific packages or sessions.
- Packages that only apply to members from a certain club, squad, or claim category.
- Packages that depend on answers collected through custom profile fields.
- Introductory or trial packages that should only be available to first-time members.
- Sessions or products restricted to members who hold an active membership.
- Sessions restricted to members in a specific group, such as a coaches-only training session.
- Sessions restricted to members who hold a coaching, safeguarding, or other required qualification.
- Store products available only to members in a particular squad or cohort.
- Club events restricted to members within an age range or who belong to a specific group.

If you do not add any eligibility rules, the item can be purchased by anyone who can see it.

## How eligibility rules work

Eligibility rules are split into rule groups.

- Each rule group must pass for the item to be available.
- Inside a group, you can choose **Match all (AND)** or **Match any (OR)**.
- The editor shows the current connector between rules so you can see how the group will be evaluated.

This means you can build logic such as:

- Members must be under 18 **and** have a specific profile field value.
- Members can be male **or** non-binary within the same group.
- Members must satisfy one group **and** another group.

## Create eligibility rules

Eligibility rules are configured on the edit page for the item you want to restrict. Navigate to the relevant section:

- **Packages**: **Admin > Membership > Packages**
- **Passes**: **Admin > Sessions > Passes**
- **Products**: **Admin > Store > Products**
- **Sessions**: **Admin > Sessions**
- **Session defaults**: **Admin > Sessions > Settings**, see [Session options](https://www.clubpal.app/docs/sessions/session-options)
- **Events**: **Admin > Events**
- **Facilities**: **Admin > Facility Hire > Facilities**
- **Content pages**: **Admin > Content > Pages**, in a page's settings dialog, see [Content editing & navigation](https://www.clubpal.app/docs/club-website/content-management#restricting-who-can-see-a-page)

The screenshot below shows the **Eligibility Rules** section on the Edit Package page as an example.

![Edit package page showing the eligibility rules editor with an age range rule and two rule groups](https://www.clubpal.app/img/membership/eligibility-rules-editor-full.png)

*Edit Package page showing an age range rule in the first group and a second rule group underneath it.*

1. Open the item you want to restrict.
2. Click **Edit**.
3. Scroll to **Eligibility Rules**.
4. Click **Add Rule Group** to create your first group.
5. Choose the group mode:
   - **Match all (AND)** means the member must satisfy every rule in that group.
   - **Match any (OR)** means the member only needs to satisfy one rule in that group.
6. Click **Add Rule**.
7. Choose a rule type and complete the settings.
8. Add more rules or groups if needed.
9. Click **Save changes**.

## Available rule types

Eligibility rules are available on membership packages, [passes](https://www.clubpal.app/docs/sessions/passes#eligibility-rules), [store products](https://www.clubpal.app/docs/store/products#eligibility-rules), [sessions](https://www.clubpal.app/docs/sessions/creating-sessions#eligibility-rules), [events](https://www.clubpal.app/docs/events/creating-events#eligibility-rules), [facilities](https://www.clubpal.app/docs/facility-hire/managing-facilities), and [content pages](https://www.clubpal.app/docs/club-website/content-management#restricting-who-can-see-a-page). The rule types available depend on the context:

- Membership packages: Age range, Previous membership, Gender, Profile field value, Required groups, Require code.
- Passes: Age range, Profile field value, Membership required, Required groups, Require code.
- Products: Age range, Gender, Profile field value, Membership required, Required groups.
- Sessions: Age range, Gender, Profile field value, Membership required, Required groups, Required qualifications.
- Session coaches: Age range, Profile field value, Required groups, Required qualifications. Membership required and Require code are absent, because a coach is not a customer.
- Events: Age range, Gender, Profile field value, Membership required, Required groups, Required qualifications.
- Facilities: Profile field value, Membership required, Required groups.
- Content pages: Profile field value, Membership required, Required groups, Required qualifications. Age range and gender are absent, because who may read a page is a decision about a role rather than about a person.

### Age range

Use **Age Range** when the item depends on the member's age.

- **Minimum age** sets the youngest eligible age.
- **Maximum age** sets the oldest eligible age.
- Leave a boundary empty if you only need one side of the range.

This is useful for junior, senior, or masters memberships and age-restricted sessions or products.

### Previous membership

Use **Previous Membership** when the package should only be available to members who have not held a membership before. This is the right rule for introductory or trial packages that are intended for new members only.

- Leave **Within years** blank to block anyone who has ever held a membership that ended, regardless of when.
- Set **Within years** to a number to only block members whose most recent membership ended within that window. A member whose membership ended longer ago than the configured period will be allowed through.

For example, setting **Within years** to `2` means a member who last held a membership three years ago can purchase the package again. A member whose membership ended six months ago cannot.

> **Note**
>
> ClubPal checks for memberships that have a recorded end date. A membership only receives an end date when it has conclusively finished. This means a member's current active membership does not count against them.

### Gender

Use **Gender** when the item should only be available to specific gender values recorded on the member profile.

Select one or more allowed options.

### Profile field value

Use **Profile Field Value** when the item depends on a custom field, such as club, team, county, or claim status.

1. Choose the profile field.
2. Enter or select the expected value.

If the profile field is a dropdown, the editor uses the configured dropdown options.

### Require code *(packages and passes only)*

Use **Require code** when you want to restrict purchase to members who have a specific discount code. The member must enter a valid code at checkout before they can complete the purchase.

This is useful for:

- Passes or packages available only to invited members.
- Restricted access that you distribute codes for manually.
- Honorary or sponsored memberships with a zero-cost code.

Select the discount code that will be accepted. Only one code can be required per rule.

> **Note**
>
> The discount code does not need to have a discount applied. You can set it to 0% to use it purely as an access control mechanism.

This rule type is not available on store products. Discount codes can still be applied during store checkout, but they cannot be enforced as a purchase requirement on a product.

### Membership required *(passes, products, sessions, and events)*

Use **Membership required** when a pass, product, session, or event should only be available to members who hold an active membership, optionally in a specific package.

Select one or more membership packages. The member must have an active membership in at least one of the selected packages to be eligible.

This rule type is available on passes, store products, sessions, and events, but not on membership packages.

### Required groups *(sessions, products, and events)*

Use **Required Groups** when a session, product, or event should only be available to members who belong to a specific [group](https://www.clubpal.app/docs/membership/member-groups), such as a coaches group, a squad, or an internal cohort.

Select one or more groups from your club's group list. The member must belong to at least one of the selected groups to satisfy the rule. Archived groups are not offered.

Groups are managed at **Admin > Membership > Groups**, where you can also create one, change who is in it, and see everything it grants. Renaming a group does not break a rule that uses it. Deleting a group does remove it from every rule that uses it, which leaves whatever it was restricting open to everyone, so archive rather than delete if the restriction still matters. See [Groups](https://www.clubpal.app/docs/membership/member-groups) for the full picture.

This rule type is available on sessions, store products, and events.

### Required qualifications *(sessions and events)*

Use **Required Qualifications** when a session or event should only be available to members who hold a specific qualification, such as a coaching badge, first aid certificate, safeguarding certificate, or other recorded credential.

Select one or more qualifications. The member must hold at least one of the selected qualifications to satisfy the rule.

This rule type is available on sessions and events.

## What members see

When a membership package, pass, product, or session has eligibility rules, the public page shows an **Eligibility requirements** section. This helps members understand the restriction before they attempt to book or purchase.

![Public membership page showing packages with eligibility requirements listed on the cards](https://www.clubpal.app/img/membership/eligibility-rules-public.png)

*Public Membership page showing how requirement summaries appear to members.*

If a member does not meet the requirements, ClubPal blocks booking or purchase of that item.

## Tips for admins

- Keep rule groups simple so the summary is easy to read.
- Use profile field rules for data you already collect and validate.
