Admin Setup.
Enable prepaid passes per plan or per partner, set template limits, and run the daily expiry task from the Health Center.
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.phpis 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:
- Navigate to Partners in the admin sidebar
- Edit the partner and open the Permissions tab
- Switch on Prepaid Passes
- Set Prepaid Passes (Limit),
-1for unlimited - 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.
Related Topics
- Overview — what passes are and how they fit
- Partner Permissions & Limits — the full permission model
- Analytics & History — the partner-side numbers and ledger
- Health Center — scheduled tasks panel
- FAQ — common questions from all three roles