Auto-Allocating with Memberships

How It Works

There are three pieces to the system:

1. Booking Pass - Define the benefit

A booking pass defines what the benefit is. You create it once, and it gets allocated to members repeatedly.

Types of the most popular booking passes:

  1. Guest pass (e.g. members get 3 guest passes per month)

  2. Free reservation pass (e.g. members get 4 free reservations a month)

  3. Free court hours pass (e.g. members get 5 free hours for court bookings per month)

  4. Free event pass (e.g. members get 1 free Open Play a week or 1 Clinic a week)

  5. Free event with specific event tag pass (e.g. members get 1 free specific group class per week)

  6. Free lesson pass (e.g. members get 1 free 1hr private lesson per month)

Each one of those can be a family shared pass.


2. Allocation Rules - Define who gets it and when

An allocation rule connects pass templates to memberships. It says: "Members with [this membership] get [these passes] every [week/month/etc.]."

You can find more information on how to do it here.


3. Pass Allocations - The actual passes members receive

When the rule fires, individual pass instances are created for each eligible member. These are the actual passes that get consumed during booking.


What Happens Automatically

Once a rule is set up, the system handles everything:

When a member's membership activates

Passes are created immediately for the current period (and any pre-created future periods). The member can start using them right away.

At the start of each new period

A scheduled job runs daily at 5 AM (club's local time). For each rule, it checks which periods are due, finds all eligible members, and creates fresh passes. Members wake up to new passes in their account.

When a member changes their membership

The system automatically adjusts:

  • Upgrade (e.g., Basic → Premium) — Old passes stay active until they expire. New passes from the Premium rule are created.

  • Downgrade (e.g., Premium → Basic) — Premium passes that haven't started yet are archived. Basic passes are created.

  • Same product, different price — If the rule has price-level filters, eligibility is recalculated.

Before confirming a membership change, admins see an impact preview showing exactly which passes will be archived (red) and which will be created (green).

When a member cancels their membership

  • Passes that are currently active stay usable until the membership end date

  • Pre-created future passes (for periods after membership end) are archived immediately

  • Passes that overlap the cancellation boundary are marked "Pending Archival" — usable now but will be archived when the membership expires

When a member's membership is terminated immediately

All passes are archived immediately. Past bookings made with those passes remain valid — nothing is retroactively revoked.

When a membership is frozen

Passes become unusable during the freeze but aren't deleted. When the membership resumes, all passes (including ones created during the freeze) become usable again.


How Members Use Their Passes

Viewing Passes

Members can see their passes at My Profile → Booking Passes, organized by status:

  • Active — Currently usable, with remaining uses/minutes and expiration date

  • Upcoming — Start date is in the future (pre-created passes)

  • Expired — Validity period ended

  • Exhausted — All uses or minutes consumed

Using Passes During Booking

When a member books an event or reserves a court:

  1. The system checks all their active passes against the booking:

    • Does the pass support this event type?

    • Does the pass match the event's tags? (if tag-restricted)

    • Is the event within the pass's time restrictions?

    • Does the pass have remaining uses or minutes?

  2. Matching passes are shown during checkout

  3. The member selects which pass to apply

  4. The pass is consumed — remaining uses or minutes are decremented

  5. If the booking is refunded later, the pass is restored


Managing Rules (Admin)

Editing a Rule

When you edit an existing rule (change the schedule, product filters, or pass configurations), the system shows a confirmation dialog:

  • Passes being removed (red) — Templates or configurations that are being removed. Pre-created future passes from these will be archived.

  • Passes being added (green) — New templates or configurations. Passes will be created for eligible members.

  • Passes unchanged (gray) — No change to these.

Archiving a Rule

Archiving a rule stops future allocations. Existing passes that were already created remain active and usable — they're not retroactively removed.

Activity Log

Each rule has an Activity tab showing every allocation run:

  • When it ran (scheduled time and actual execution time)

  • How many users were processed

  • How many passes were created

  • Execution duration

  • Status (Completed, Failed, In Progress)

  • For failed runs: error details and a retry button

Manually Granting Passes

Besides auto-assignment, admins can manually grant passes to specific users from Booking Passes → Grant. This is useful for one-off situations like comp passes, promotional offers, or correcting missed allocations.


Example Setup

Here's how a club might set up passes for three membership tiers:

Gold Membership ($150/month)

  • Rule: Monthly, 1st of each month, pre-create 7 days ahead

  • Passes: 12 Open Play Sessions + Unlimited Court Bookings + 50% Off Clinics

Silver Membership ($100/month)

  • Rule: Monthly, 1st of each month, pre-create 7 days ahead

  • Passes: 8 Open Play Sessions + 4 Hours of Court Time

Basic Membership ($50/month)

  • Rule: Monthly, 1st of each month, pre-create 7 days ahead

  • Passes: 4 Open Play Sessions

Each month:

  1. On the 25th (7 days before the 1st), next month's passes are pre-created and visible as "Upcoming"

  2. On the 1st, passes become active

  3. Members book events throughout the month, consuming passes

  4. At the end of the month, unused passes expire (if configured with a 1-month validity)

  5. Cycle repeats


Tips

  • Start with "Whole Event" passes for simple session-based benefits — they're the easiest to understand and manage

  • Use "By Minutes" passes when booking durations vary (e.g., members can book 30-min, 60-min, or 90-min slots from the same pool)

  • Pre-create passes 7 days ahead so members can see their upcoming passes before the new period starts

  • Use tag restrictions to differentiate benefits (e.g., "Beginner Clinic Pass" only works for events tagged "Beginner")

  • Check the Activity tab after setting up a new rule to confirm passes were allocated correctly

  • Use the impact preview before changing memberships — it shows exactly what will happen to the member's passes

  • Don't delete pass templates if they're referenced by active rules — archive them instead