Skip to content
ESC

Searching...

Quick Links

Type to search • Press to navigate • Enter to select

Keep typing to search...

No results found

No documentation matches ""

Admin Setup.

Enable prepaid passes per plan or per partner, set template limits, and run the daily expiry task from the Health Center.

Jun 11, 2026

Prepaid passes are a plan feature. As an administrator you decide which partners get them, how many pass products each partner can create, and you can watch the daily expiry task do its work. This page covers the full admin side.

The Two Controls

Passes follow the same permission model as vouchers:

Control What it does
Prepaid Passes (toggle) Shows or hides the entire feature for a partner. Off means no menu item, no staff selling, no pass surfaces at all.
Prepaid Passes (Limit) Caps how many pass products the partner can create. -1 means unlimited, 0 means view-only.

Both controls live in two places, and the same precedence applies as everywhere else: per-partner overrides win over plan defaults.

Enabling via Plans

Two keys in config/plans.php control the feature per tier:

'has_prepaid_passes' => true,  // plan includes the feature
'max_prepaid_passes' => 10,    // pass products per partner, -1 = unlimited

Fresh installations ship with vouchers-style defaults: off on the free tier, then 3, 10, and unlimited on the paid tiers. Assigning a plan to a partner derives their permissions from these keys.

Upgrading from an earlier version? config/plans.php is a protected file, so updates keep your existing copy without the two keys. Nothing breaks, the feature just stays off until you add them. Upgrading From an Earlier Version shows the exact lines per tier.

Enabling per Partner

To grant passes to a single partner without touching plans.php:

  1. Navigate to Partners in the admin sidebar
  2. Edit the partner and open the Permissions tab
  3. Switch on Prepaid Passes
  4. Set Prepaid Passes (Limit), -1 for unlimited
  5. Save

The partner sees the Prepaid Passes menu on their next page load. This route suits a trial run of the feature or a one-off arrangement. Remember that a later plan change re-derives permissions from the new tier, so re-apply the override afterwards if the tier's defaults differ.

What Partners Get

With the feature on, a partner can create pass products per club: a use count or unlimited visits, an optional validity window of 1 to 366 days, a display price, and the same design options as other cards (colors, background image, logo). Their staff sell and scan the passes, and the partner dashboard includes pass analytics and an exportable transaction history, like the other card types. Partner setup walks through it.

With the feature off, nothing pass-related renders anywhere in that partner's dashboard, staff portal, or member surfaces. Members keep passes they already hold; the data stays, the surfaces hide.

Admin Surfaces

Passes appear everywhere the other program types do on the admin side:

  • Members → Pass Transactions is the platform-wide pass ledger across all partners, with the partner per row, exportable like the other transaction histories.
  • The member list shows each member's passes beside their cards, stamps, and vouchers.
  • Activity logs have a Prepaid Passes category; every sale, visit, correction, and expiry the pass service writes lands there.
  • The dashboard headline counts pass products in its totals, so milestones include them.

The Daily Expiry Task

One scheduled task keeps passes honest. Each day it:

  • Marks passes as expired once their validity window closes
  • Sends one reminder email per pass that enters its final week with visits left

The task appears on Health Center → Scheduled tasks beside the other daily tasks (birthday vouchers, win-back vouchers, stamp expiration). You can see when it last ran and run it by hand. It runs with cron on schedule, and without cron the first portal activity of the day triggers it. No queue worker is involved, and repeating it is safe: no duplicate reminders, no double expirations.

Money, for the Record

The platform never charges members. A pass's price is a display value: staff record what the customer paid at the counter, and the amount lands in the pass history for receipts and reporting. There is no payment provider to configure and no payout to reconcile. If your deployment bills partners (SaaS mode), passes need no extra billing setup.

Google Wallet

If your installation has Google Wallet configured, passes join the same chain of toggles: system flag, partner permission, then per-product toggle. A member can then save a pass to Google Wallet, and the remaining count updates after each visit. Without the system flag, the per-product toggle stays hidden.

Demo Data

Installations seeded with demo data include one pass product ("10-Visit Wash Pass") sold to the demo member with four visits ticked off. The demo resets daily, so the pass always sits a few days before expiry, which is handy for showing the reminder and the Health Center run.