Memberships in Pool Hall Master are configurable tiers (e.g. Monthly Pass, VIP, League Member) that let you give certain customers automatic discounts, dedicated access hours, and an Apple Wallet pass. The discount applies automatically the next time the member plays — no manual override at checkout.
The two default tiers
When you first turn memberships on, Pool Hall Master seeds two example tiers so you have something to work with:
- Monthly Pass
- VIP Membership
Both are fully editable. You can rename them, change their pricing and discount, or delete them entirely and create your own.
Configure your membership tiers
- Open Account & Settings → Customers → Membership Types.
- Tap any tier to edit it, or + to create a new tier.
- Fill in the fields below.
- Tap Save.
What each field controls
| Field | What it does |
|---|---|
| Name | What members and staff see (e.g. VIP, League Member) |
| Price | The cost to purchase the membership |
| Duration (days) | How long the membership is valid before it expires |
| Discount % | The percentage off table-time charges that this tier gets, applied automatically |
| Access days | Which days of the week the membership unlocks (e.g. Weekdays, Daily) |
| Access hours | Start and end hour for member access; setting both equal means 24 Hours |
| Icon | The SF Symbol shown on the member’s pass and in the app |
| Active | Toggle the tier on or off without deleting it |
Selling a membership
You can sell a membership in two places:
- POS view — there’s a Memberships category in the POS with a Sell Membership action. This is the standard path during a visit.
- Directly from a customer profile — open the customer in the Directory, tap Manage Membership, and grant or change their tier.
When you sell or grant a membership, Pool Hall Master:
- Sets the customer’s
membershipIdto the chosen tier. - Deactivates any previous membership on that customer.
- Records a transaction in Transactions.
- Generates an Apple Wallet pass the customer can add to their phone.
Granting a membership without charging
If you’re comping a membership (e.g. for a league captain or a staff trade), use Grant Membership from the customer’s profile. The flow is identical to selling, but skips the payment step.
How the discount applies
Membership discounts apply automatically to table-time charges. When a checkout is calculated for a player who has an active membership:
- Pool Hall Master picks the best applicable rate (Rate Rule → table type → global tiers → default — see Pricing models).
- It then applies the membership’s Discount % to the table-time portion of the charge.
- The member’s per-player line on the Checkout Overview reflects the discounted amount.
The discount does not apply to non-time line items like food, drinks, or merchandise unless you’ve configured a separate rule.
Membership Notifications (SMS)
When a member’s expiration approaches, Pool Hall Master can text them automatically.
- Open Account & Settings → Membership Notifications.
- Toggle SMS notifications on.
- Configure how many days before expiration the reminder fires.
The actual SMS template is editable under SMS Templates.
Apple Wallet passes for members
Each active member gets an Apple Wallet pass with their tier name, expiration
date, discount percentage, and access window. Customers can add it to Apple
Wallet from the link in the Membership Pass SMS or from their player
profile at phmapp.io/{slug}/profile.
The pass is generated server-side by the generateWalletPass Cloud Function
and updates automatically when the membership changes.
Removing or changing a member’s tier
From a customer’s profile, open Manage Membership:
- Change Plan — open the membership picker and select a different tier.
- Remove Membership — clears the active membership.
The change is reflected at the next checkout.