ClubOps Global v1.8.9 Global.8.25 Operations Manual
A generic operations, setup, and handoff guide for facilities using ClubOps Global as a WordPress-based facility operations platform and alternative to subscription club-management systems.
ProductClubOps Global
Version Coveredv1.8.9 Global.8.25
Prepared ByWeb Vine Marketing
Commercial ModelOne-time purchase; major feature upgrades sold separately unless stated otherwise.
Major Update
v1.8.9 Global.8.25 covers Facility Modes plus the full operations expansion.
This manual keeps the Global.7 facility-mode foundation and adds the Global.8 operational features through v1.8.9-global.8.25.
Why this is major: Global.7 introduces vertical facility functionality. The same core system can now be configured for court and club facilities, golf simulator facilities, gym and fitness facilities, hybrid facilities, and custom facility workflows.
Added Gym / Fitness Facility Mode with starter resources, memberships, class packs, training packs, class examples, and gym-specific copy defaults.
Added class-focused shortcode aliases: [hv_clubops_classes], [hv_clubops_gym_classes], and [hv_clubops_gym_checkin].
Added commercial LICENSE.txt inside the product ZIP.
Update guidance: After updating to Global.7, go to ClubOps > Settings to confirm the Facility Type, then go to ClubOps > Setup & Tools to apply or verify the appropriate Facility Mode starter pack.
How Global.7 adapts ClubOps Global for different facility categories.
Facility Modes keep the same ClubOps Global core while changing terminology, setup defaults, starter data, and customer-facing workflows for the type of operation being launched.
Facility Mode
Use Case
What It Changes
Court / Club Facility
Pickleball, tennis, racquet sports, member clubs, and court-based operations.
General club language, resource booking, memberships, packages, programs, waivers, check-ins, live boards, competitions, and portal workflows.
Golf Simulator Facility
Golf bays, simulator reservations, lessons, training sessions, and golf programs.
This manual was rebuilt by preserving the original Global.7 support file and adding current v1.8.9 Global.8.25 support sections instead of replacing the old manual with a condensed version.
Check
Result
Original support manual retained
Yes - original support sections remain in place.
Current plugin changelog included
Yes - current changelog through v1.8.9-global.8.25 is included.
Detected shortcodes documented
Yes - 26 shortcodes are included in the current shortcode reference.
Detected admin menu pages documented
Yes - 29 admin menu entries are included in the current admin menu reference.
What ClubOps Global is, who it is for, and how it is positioned.
ClubOps Global is a WordPress-based facility operations system for clubs, courts, golf simulator facilities, gyms, fitness studios, hybrid facilities, memberships, bookings, classes, and programs built for operators that want control of their own platform instead of relying entirely on high-cost subscription club-management software.
The system is designed as a practical replacement or alternative to subscription platforms used in the gym, health club, sports facility, pickleball, court-booking, golf simulator, recreation, and boutique fitness markets. Buyers may evaluate it against systems such as Club Automation, Exercise.com, Daxko, Zen Planner, Mindbody, Jonas Club Management, Club OS, ClubReady, CourtReserve, Playbypoint, EZFacility, Glofox, Wodify, Pike13, TeamUp, and similar management platforms.
Commercial positioning: ClubOps Global is sold as a one-time-purchase WordPress product. Major feature upgrades, customizations, migrations, support blocks, new modules, and implementation services are not automatically included unless they are part of the specific purchase agreement. Practical security and compatibility maintenance for the purchased branch should not be treated like a monthly ransom.
Core goal
The goal is to give a facility a complete operational portal for bookings, members, packages, programs, waivers, check-ins, staff workflows, live boards, PWA access, reminder push, email opt-in capture, facility modes, and vertical starter packs without forcing the business into a closed ecosystem.
Best-fit customers
Pickleball clubs, tennis/court facilities, and racquet sport centers.
Golf simulator facilities and indoor training centers.
Gyms, training studios, boutique fitness brands, and sports performance centers.
Multi-use recreation centers with reservable rooms, courts, bays, lanes, events, and classes.
Operators that want WordPress ownership, WooCommerce payments, and custom extensibility.
How to think about ownership, updates, and commercial use.
ClubOps Global is intended to be sold as a commercial product rather than a free open-source plugin. The buyer receives use of the purchased version under the terms provided at purchase.
One-time purchase model
The base product may be sold as a one-time purchase for a single site or licensed package.
Major feature upgrades are not automatically free unless stated in the purchase terms.
New feature development, vertical packs, migrations, data cleanup, custom styling, integrations, and priority support are separate services unless bundled.
The buyer should retain their order receipt, license details, and download files.
Recommended protection approach
A balanced commercial approach is to use domain-based license activation without locking the customer into a hosted SaaS account. This allows the customer to own their WordPress install while discouraging unauthorized copying.
At purchase, the buyer provides the production domain.
The license can be changed through the buyer account or support request when a site is moved.
Local/staging domains should be assigned or approved separately so development is not blocked while production remains protected.
The operational database remains on the customer site, not inside a third-party SaaS dashboard.
This manual explains product use. Exact license enforcement, update access, renewal terms, and support terms should be defined on the product sales page and order agreement.
A clean setup reduces plugin conflicts and makes the portal easier to maintain.
The recommended deployment is a dedicated WordPress install on a subdomain such as:
club.example.com
members.example.com
portal.example.com
booking.example.com
A separate portal install keeps operational workflows clean while the main marketing website remains optimized for SEO, sales copy, media, and landing pages.
Recommended environment
HTTPS/SSL enabled.
Current WordPress version.
Lightweight theme or blank/canvas template.
WooCommerce only if online payments are needed.
SMTP/mail logging plugin for reliable email delivery.
Security and backup system appropriate for membership/payment data.
Minimal page builders and nonessential plugins.
Recommended navigation
Public navigation should usually include Book Now, Choose Membership, Choose Program, Events, Waiver, Check In, Member Portal, and Install App. Internal/admin pages should not be exposed in the public navigation.
The fastest safe path from installation to usable portal.
Install and activate ClubOps Global.
Go to ClubOps > Settings and configure facility name, colors, logo, email, currency, booking rules, and Facility Type / Vertical Mode.
Go to ClubOps > Setup & Tools and apply or verify the correct Facility Mode starter pack if needed.
Go to ClubOps > Setup & Tools and run Create / Verify Pages.
Create or import resources such as courts, bays, lanes, rooms, or instructors.
Create or import memberships, packages, and credit plans.
Create or import programs/classes/events if the facility uses scheduled registration.
Test one guest booking, one member-priced booking, one program registration, one waiver, and one check-in.
If WooCommerce is active, test a paid reservation, paid membership, and paid program registration.
Set up account claim so returning customers can link to their existing member record.
Review public navigation and hide any pages that should remain internal.
Important: A clean test order is more valuable than a perfect-looking dashboard. Test the customer path from first visit to payment, account claim, member portal, and check-in before handing the portal to staff.
Public pages can be generated automatically or created manually with shortcodes.
ClubOps Global includes a page generator inside ClubOps > Setup & Tools. Run Create / Verify Pages after installation or major updates. If older generated shortcode content is found, newer builds can update the shortcode content for generated pages.
Page
Purpose
Shortcode
/book-now/
Public resource booking
[hv_clubops_booking]
/choose-membership/
Public membership/package chooser
[hv_clubops_choose_membership]
/choose-program/
Searchable public program/class chooser
[hv_clubops_choose_program limit="200"]
/classes/
Class-focused chooser alias for gym/fitness facilities
Courts, bays, lanes, rooms, training floors, studios, instructors, and bookable assets.
Resources are the bookable assets of the facility. A resource can represent a pickleball court, tennis court, golf simulator bay, cornhole lane, training floor, studio room, turf lane, private training room, coach, instructor, event space, or other reservable asset.
Recommended fields
Name: public/internal name such as Court 1 or Golf Bay 3.
Resource type: court, golf bay, cornhole, room, studio, training floor, lane, coach, or other.
Status: active, blocked, maintenance, or closed.
Slot length: default booking duration.
Buffer: cleanup or transition time between reservations.
Visitor price: public/non-member hourly price.
Member price: lower linked-member price when applicable.
Live board visibility: whether the resource appears on the public/TV board.
Conflict protection
ClubOps Global prevents overlapping reservations for the same resource. A booking on Court 1 from 2:00-3:00 should block Court 1 from 2:30-3:30 while still allowing Court 2 at the same time.
Public bookings, admin bookings, payment visibility, and overlap protection.
Public booking
The public booking screen lets a customer choose a resource, date, available time, and contact information. It creates a reservation and can also create or update a lead/member record.
Admin booking
Staff can create a reservation from the admin side for phone calls, walk-ins, manual holds, internal bookings, or front-desk adjustments.
Payment states
Unpaid / awaiting payment: reservation exists but payment is not complete.
Paid: payment has been completed or marked paid by staff.
Waived: no payment is needed, package credit was applied, or staff waived payment.
Customer experience
Where payment is enabled, the customer should clearly see the payment status and a continue-to-payment link. Where approval or manual payment is used, the system should explain that the reservation request has been received.
How contacts become linked portal users without duplicate records.
ClubOps Global treats member records as the operational CRM foundation. A person may begin as a guest, become a lead, claim an account, purchase a plan, and later become a full member. The goal is to avoid duplicate records while preserving history.
How member records are created
Public booking.
Program/class registration.
Public membership/package signup.
Manual staff entry.
CSV import.
Account claim flow
A guest books, registers, joins, or is imported.
A ClubOps member/lead record exists.
Staff or the system sends a secure claim email.
The customer opens the claim link, verifies the email, and sets a password.
The WordPress user links to the existing ClubOps member record.
Future portal sessions show linked bookings, packages, credits, waivers, and match history.
Staff actions
Search by name, email, phone, or code.
Edit contact details, status, tags, notes, and waiver status.
Public plan chooser, member pricing, package balances, and low-credit alerts.
The membership system supports the primary conversion funnel: a visitor books or registers, sees the value of member pricing, chooses a plan, pays through checkout if needed, and then claims a linked portal account.
Public membership chooser
The [hv_clubops_choose_membership] shortcode displays active plans as responsive cards. The chooser includes search/filter controls, uniform card heights, truncated copy, and Show more / Show less expansion for longer descriptions.
Plan types
Membership: monthly, annual, or term-based access.
Package: credits, passes, punch cards, or prepaid blocks.
Unlimited: active plan with unlimited eligible use.
Hidden/internal: staff-only, legacy, comped, promotional, or restricted plans.
Payment activation
When WooCommerce is active and the plan has a price, the buyer is sent to checkout. After successful payment, the member plan can activate automatically and account claim can be offered.
Credit behavior
Credits may be applied to eligible reservations.
Package credits can reduce eligible bookings to zero.
Low-credit reminders can notify members before they run out.
Staff can adjust credits for corrections or promotions.
Searchable public chooser and staff registration management.
Programs cover open play, clinics, lessons, camps, gym classes, open gym blocks, personal training, youth training, watch parties, golf events, leagues, tournaments, parties, and facility programs. They can be created manually or imported through CSV.
Public program chooser
The [hv_clubops_choose_program limit="200"] shortcode is designed for long schedules. It includes search, type filters, uniform cards, collapsed registration forms, and Show more / Show less descriptions.
Recommended public behavior
Use a searchable chooser for long schedules.
Use preview pages for short home-page sections.
Keep registration forms collapsed until the customer chooses a program.
Use clear member/non-member pricing where applicable.
Use waitlist behavior when capacity is reached.
Staff behavior
Create or import dated classes.
Set capacity, price, member price, location, resource/room, status, and waitlist behavior.
Review registrations and payment status.
Export or review program/class attendance as needed.
Risk acknowledgement and front-desk arrival workflow.
Waivers
Waivers collect the participant acknowledgement required before booking, check-in, or play depending on facility policy. The system records signature status and shows it against the member/guest record.
Check-ins
Check-in supports front-desk and kiosk style arrival. Customers can enter their information and staff can immediately see the visit status.
Operational use
Use the waiver page as a public link from confirmation emails or navigation.
Use the check-in page on a tablet at the facility entrance.
Monitor live board occupancy for active resource use.
Use visit notes for league, open play, guest, or clinic context.
Visual resource occupancy for courts, bays, lanes, and displays.
The live board gives a visual, glanceable view of current resource availability. It can show pickleball courts, golf bays, cornhole lanes, training floors, studio rooms, turf lanes, private training spaces, and other active resource types.
Status types
Available
Occupied
Reserved
Reserved soon
Blocked
Closed
Display recommendation
Use [hv_clubops_resource_board display="tv" refresh="20"] on a dedicated screen or tablet for front-desk visibility. Keep public language simple and avoid exposing admin implementation notes.
14. Leagues, Tournaments, Standings, and Scoreboards
Competitive programming and public results.
ClubOps Global includes tools for leagues, tournaments, matches, standings, scoreboards, and player match history. These features are useful for recurring competitive programs, ladders, round robins, tournament brackets, or facility competitions.
Public pages
[hv_clubops_leagues] for league cards.
[hv_clubops_tournaments] for tournament cards.
[hv_clubops_standings] for standings.
[hv_clubops_scoreboard] for public scores.
[hv_clubops_my_matches] for player match history.
Public copy standard
Public-facing pages should never display shortcode instructions or internal setup hints. Customer-facing text should describe what the visitor can do or what will appear when scores are available.
How paid bookings, paid programs, and paid memberships connect to checkout.
WooCommerce integration allows ClubOps Global to create payment orders for reservations, program registrations, and membership/package purchases. This keeps payment processing inside the site owner’s WordPress/WooCommerce stack.
Typical payment flows
Reservation creates a WooCommerce order or payment hold.
Program registration creates a WooCommerce order when payment is required.
Membership chooser creates a pending plan and sends the buyer to checkout.
Successful WooCommerce payment updates the ClubOps record.
Testing recommendation
Before launch, test paid and unpaid versions of every flow. Confirm the correct status appears inside ClubOps and that the customer receives clear instructions.
CSV import tools for real-world setup and migration previews.
Setup & Tools includes Facility Mode starter packs plus importers for members, resources, plans/packages, and programs/classes. CSV imports make it possible to build a realistic demo or production migration without manually entering hundreds of records.
Recommended import order
Confirm Facility Type / Vertical Mode.
Resources CSV.
Memberships/packages/plans CSV.
Members CSV.
Programs/events/classes CSV.
Review public pages and run test workflows.
Import behavior
Resource import deduplicates by resource name.
Plan import deduplicates by plan name.
Program import deduplicates by title and start time.
Member import deduplicates by member code first, then email.
Backup recommendation
Export data and back up the WordPress database before any major import, operational reset, or migration change.
Installable portal experience without a native app.
ClubOps Global includes built-in PWA support so customers and staff can install the portal on desktop, phone, or tablet without a separate PWA plugin.
PWA features
Generated web app manifest.
Service worker foundation.
Offline fallback screen.
Install prompt and install helper shortcode.
Desktop, phone, and tablet installation copy.
Reminder push
Push notifications are intended for reminders only. This protects the user experience and keeps the system focused on operational messages such as reservation reminders, program reminders, payment nudges, and low-credit notices.
Important: Web push requires HTTPS. On iPhone and iPad, web push generally requires the site to be installed to the Home Screen first.
Staff can verify member access from the backend while customers can carry a digital or printed card.
Purpose
The Access Check layer is used by front desk staff, managers, and permitted staff roles to decide whether a person should be allowed to enter, check in, receive member pricing, or use included benefits.
Where staff use it
Go to ClubOps > Access Check.
Search by member code, barcode scan, email, phone, or name.
Review access state, warnings, active plans, invoice status, waiver status, today's reservations, and check-in state.
Use Record Check-In when the member is clear to enter.
Customer membership card
The customer-facing digital membership card is displayed with [hv_clubops_member_card]. The card shows the member name, account role, member code, status, and a scannable Code 128 barcode.
Printed card behavior
The print action is designed for a CR80-style wallet card size: approximately 3.375in by 2.125in.
The print flow isolates the card so the whole WordPress page does not print.
Browsers may still require Background graphics to be enabled in the print dialog for color fills.
The printed code text remains below the barcode as a fallback for staff entry.
Access decision checks
Check
What staff should understand
Member status
Inactive, suspended, cancelled, or lead records may require staff review before access is granted.
Active plan
Direct plans can grant access when the plan is active and not paused, cancelled, or expired.
Billing status
Open, overdue, or grace-period invoices can warn or suspend access depending on facility settings.
Waiver status
Missing waivers should be treated according to facility policy before play, class, or check-in.
Household coverage
Linked household access is only allowed when the plan explicitly shares benefits with that role.
Today's reservations
Staff can see whether the person is expected today before recording check-in.
Support checks
Create or find a linked member with an active plan.
Open ClubOps > Access Check.
Search by the member code shown on the member card.
Print the card to PDF and confirm it stays one card/page.
Record a check-in and confirm the duplicate check-in warning appears if checked again.
Monthly billing support is intentionally staged so WooCommerce pay-now notices remain the safe default.
Billing modes
Mode
Use case
Important notice
WooCommerce Pay-Now Notices
Default monthly billing flow.
WooCommerce checkout handles the payment link/order. ClubOps sends notices and can suspend after the configured grace period if the member does not pay.
Gateway Recurring Billing
Reserved for future direct gateway/token billing.
This option exists as a control surface for future recurring processor integration. It should not be treated as active auto-charge until the gateway implementation is completed and tested.
Billing Center
Use ClubOps > Billing to review monthly membership invoices, open balances, due dates, recovery notices, final notices, WooCommerce orders, and offline payment actions.
Invoice actions
Create/Open WooCommerce order: creates or opens the linked pay-now order.
Checkout link: gives staff the customer payment link.
Send reminder: sends a billing reminder email for an open invoice.
Final notice: sends the final configured notice before suspension or escalation.
Mark paid offline: records staff-confirmed payment and can reactivate access.
Void invoice: closes an invoice that should no longer be collected.
Recovery settings
Grace days control when unpaid billing can suspend access.
Reminder interval controls how often recovery emails are sent.
Maximum reminders prevents endless repeated notices.
Final notice timing controls when the final warning is sent.
Email templates should be reviewed before launch for facility-specific tone.
Operational warning
WooCommerce notice mode is not automatic recurring card charging.
It is a safe payment-notice workflow. Members must click and pay the invoice/order. If they do not pay within the configured grace window, ClubOps can warn or suspend access.
Support checks
Confirm Billing Processor Mode is set to WooCommerce Pay-Now Notices.
Create a monthly billing plan and assign it to a test member.
Run Run Billing Check Now.
Confirm the invoice appears in Billing Center.
Create/open the WooCommerce order and verify checkout works.
Mark paid offline on a test invoice and confirm access reactivates.
Set the invoice overdue and confirm reminder/final notice controls do not fatal.
Parent/primary member: links a person to the household owner or parent account.
Billing member: identifies the member responsible for billing.
Relationship label: staff-friendly text such as son, spouse, parent, guardian, or partner.
Emergency contact: emergency name and phone stored on the member record.
Shared benefits
Household sharing is off by default. A plan/package must explicitly allow household sharing before linked members can receive access, member pricing, or included usage from another account.
Household sharing controls
Share With Linked Household: enables or disables shared benefits for that plan.
Household Coverage Limit: optional limit for how many linked people may be covered.
Covered Household Roles: controls whether spouse, dependent, billing contact, guest/lead, individual, or all linked roles are eligible.
Support checks
Create a primary member with an active shareable plan.
Create a dependent member linked to the primary/billing member.
Leave sharing off and confirm the dependent does not receive benefits.
Turn sharing on for dependent/child and confirm Access Check recognizes shared coverage.
Test booking or program pricing for the dependent and confirm member pricing only applies when allowed.
Set a coverage limit and test one more linked person than allowed.
22. Program Rosters, Attendance, Waitlists, and Messaging
Programs and classes now support lifecycle operations beyond simple registrations.
Roster screen
Each program/event can have a roster view. Staff use it to review registrants, payment state, waitlist position, attendance state, and follow-up status.
Attendance states
Status
Meaning
Not Marked
No attendance decision has been recorded yet.
Present
The participant attended or checked in for the session.
No-Show
The participant did not attend and was not excused.
Excused
The participant was excused by staff or facility policy.
Waitlist behavior
Waitlist records do not consume program capacity.
Roster view shows waitlist totals and waitlist position.
Staff can promote a waitlist record when a spot opens.
Paid waitlist promotions create the WooCommerce pay-now order when promoted.
Public program cards can show spots left, waitlist open, and number waiting.
Roster messaging
Staff can send a one-time email from a roster to selected audience groups. Messages are sent individually so participants do not see each other's email addresses.
Roster message audiences
registered attendees
waitlist only
marked present
marked no-show
marked excused
awaiting payment
all non-cancelled registrations and waitlist entries
Roster message tokens
Token
Output
{brand_name}
Facility/brand name.
{customer_name}
Registrant name.
{customer_email}
Registrant email.
{program_title}
Program, class, clinic, or event title.
{program_start}
Start date/time.
{program_end}
End date/time.
{program_location}
Location/resource/room.
{status}
Registration status.
{payment_status}
Payment state.
{attendance_status}
Attendance state.
{waitlist_position}
Waitlist position if applicable.
Support checks
Create a class with a small capacity.
Register more people than capacity and confirm waitlist positions appear.
Promote a waitlist member and confirm capacity count updates.
Mark attendees present, no-show, and excused.
Export the roster CSV.
Send a roster message to a test address/audience on staging.
23. Program Cancellations, Refund Follow-Up, and Make-Up Credits
Cancelled sessions need operational follow-up without pretending money was refunded automatically.
Session cancellation
Staff can cancel a program/class/event session from the roster. The cancellation closes public registration and updates active registrations and waitlist entries.
Cancellation effects
The program status changes to cancelled.
Public registration closes.
Active registrations are cancelled.
Waitlist entries are cancelled.
Paid registrations are marked refund due for staff follow-up.
An optional cancellation email can be sent to the roster.
Refund and credit follow-up
Resolution
What it means
Refunded
Staff confirms the refund was handled outside or through the payment processor.
Credit Issued
Staff notes that a credit was issued according to facility policy.
Make-Up Credit
ClubOps attempts to create a real make-up package credit for the linked member.
Reopen Follow-Up
Returns the registration to follow-up status if more action is needed.
Make-Up Credits
When a paid cancelled registration is marked as Make-Up and is linked to a member record, ClubOps can create or update a system package called Make-Up Credits. If the registration is not linked to a member, ClubOps logs that staff must apply the credit manually.
Support checks
Create a paid registration linked to a member.
Cancel the session and confirm the registration shows refund due.
Resolve one test registration as refunded.
Resolve one as credit issued.
Resolve one as make-up credit and confirm the member receives the Make-Up Credits package.
Try make-up credit on an unlinked registration and confirm it logs/manual-fallbacks instead of fataling.
Operational actions should leave a trail staff can review later.
Activity Log
Use ClubOps > Activity Log to review operational events such as settings updates, imports, access checks, billing actions, roster activity, staff shift changes, follow-up changes, and pipeline updates.
Filters
Object type.
Event type.
Date range.
Actor/user.
Keyword search.
Export
The Activity Log can export filtered activity records to CSV. This is useful for support review, manager handoff, billing research, staff training, and migration troubleshooting.
Admin menu organization
The ClubOps admin menu is organized for operational clarity. Main workflow pages are grouped predictably, while Settings, Setup & Tools, and License remain at the bottom where admin/configuration links are expected.
Support checks
Perform one action in Billing, Programs, Staff Schedule, Follow-Ups, and Pipeline.
Open Activity Log and filter by recent date.
Search for one action by keyword.
Export the filtered log.
Confirm the menu order remains readable after plugin update.
These tests should be run before putting a build in front of staff or customers.
Fatal-error smoke tests
Activate the plugin on staging and open the WordPress admin dashboard.
Open every ClubOps submenu page once.
Open each generated public shortcode page once while logged out.
Open each generated public shortcode page once while logged in as a linked member.
Run Setup & Tools page generation after an update.
Payment and billing tests
Buy a paid membership through WooCommerce checkout.
Create a monthly billing plan and run Billing Check Now.
Open the Billing Center invoice and generate/open the Woo order.
Send reminder and final notice on a staging invoice.
Mark one invoice paid offline and one invoice void.
Confirm overdue/suspended access is reflected in Access Check.
Program and roster tests
Register for a free class.
Register for a paid class and complete Woo checkout.
Fill a class to capacity and create a waitlist registration.
Promote the waitlist registration.
Mark attendance as present, no-show, and excused.
Cancel a paid session and resolve refund/credit/make-up follow-up.
Staff and CRM tests
Create a staff user and assign a non-admin ClubOps role.
Confirm the staff user sees only permitted menus.
Create, edit, export, print, and delete a staff shift.
Create, bulk update, export, and delete follow-ups.
Update pipeline stages inline and through bulk update.
Household and access tests
Create primary, spouse, and dependent member records.
Assign a plan with household sharing off and confirm no inherited access.
Enable sharing for a role and confirm inherited access appears.
Test coverage limits.
Print a member card to PDF and scan/type the member code into Access Check.
Most important support rule:
If a new admin page is added, open that menu page immediately after install. Missing callback methods cause instant WordPress critical errors, so every new submenu page should be part of smoke testing.
Added Gateway Recurring Billing option as a reserved/future route for direct gateway/token support.
Added Settings and Billing Center notices explaining Woo notice mode, grace-period suspension, and why saved-card auto-charge is not enabled yet.
Kept all existing monthly billing behavior on the Woo notice/pay-now flow so current staging/live workflows do not break.
Version 1.8.9-global.8.11
Added Membership Billing Recovery Stage 1.
Added billing recovery settings for grace days, reminder interval, maximum automatic reminders, and final notice timing.
Added monthly billing email and final notice templates to Settings.
Added recovery tracking on membership invoices: reminder count, last reminder date, final notice date, and suspended date.
Billing Center now shows recovery status per invoice and final-notice queue count.
Added manual Final Notice action for open membership invoices.
Monthly billing processing can now send repeated recovery reminders on cadence and final notices after the configured due-date threshold.
Version 1.8.9-global.8.10
Added Membership Lifecycle Stage 1.
Added pause/freeze controls for member plans, including optional resume dates.
Added resume access controls for paused memberships/packages.
Added scheduled cancellation dates for end-of-term cancellation workflows.
Added clear scheduled cancellation action.
Added immediate cancellation action with lifecycle logging.
Added lifecycle fields to member plan records for pause dates, cancellation dates, cancellation timestamps, and notes.
Monthly billing now runs lifecycle processing before creating invoices, so paused plans are not billed until resumed and scheduled cancellations can complete automatically.
Member portal now shows paused/frozen and scheduled-cancel status when relevant.
Membership assignment table now includes lifecycle status and staff action controls.
Version 1.8.9-global.8.9
Added ClubOps → Billing Center for monthly membership invoice review.
Added dashboard Billing tile for monthly invoices, pay-now orders, and past-due review.
Added billing filters by status, search, and due-date range.
Added billing stats for open invoices, past due totals, due soon, and paid this month.
Added manual billing check button to create due invoices from the admin.
Added invoice actions: create/open WooCommerce order, send reminder, checkout, mark paid offline, and void invoice.
Added offline paid handling to reactivate membership access and member status.
Version 1.8.9-global.8.8.2
Rebuilt membership card print flow to print one isolated CR80-style wallet card instead of the full page.
Added popup/isolated print document so background colors and barcode bars render correctly when printing to PDF.
Added fallback print-root behavior if popups are blocked.
Version 1.8.9-global.8.8.1
Staff role builder admin CSS cleanup for capability checkbox layout and readability.
Fixed permission descriptions wrapping into the narrow checkbox column.
Improved Add Custom Staff Role permission grid spacing and responsive behavior.
HV ClubOps Global v1.8.9-global.8.8
1.8.9-global.8.8
Added dynamic Staff Role Builder in ClubOps > Staff.
Staff roles can now be created, renamed, edited, and permission-tuned from the backend.
Default ClubOps roles remain protected from deletion but their capabilities can be adjusted.
Added dedicated hvco_access_check capability for member card scanning / staff access checks.
Access Check now uses the new access-check capability while still honoring manage-checkins for backwards compatibility.
Members admin now links directly to backend Access Check for each member when the current user has permission.
Added household/shared-account access evaluation stage: linked billing/parent accounts can provide access context, and linked account billing issues can block or warn during staff access review.
Added Household / Account fields to member records: account role, parent/primary member, billing member, relationship label, and emergency contact fields.
Added household/account visibility inside member admin and Access Check evaluation.
Added Print Membership Card button on the member card shortcode page.
Added ClubOps -> Access Check admin screen for scanning/searching member code, email, phone, or name.
Access Check evaluates member status, active/suspended memberships, open monthly invoices, waiver status, today's reservations, and whether the member is already checked in.
Added Record Check-In action from Access Check using the existing check-in ledger.
Added Access Check dashboard launcher tile.
Added audit log entries for access checks and access check-ins.
Added frontend/admin styling for digital cards, access results, barcode-style member codes, and status states.
Preview validates Members, Resources, Membership Plans, Programs/Events, and Leagues/Tournaments before import.
Preview reports estimated creates, updates, skipped rows, invalid rows, existing matches, and row-level warnings without writing to the database.
Added audit entries for preview runs and completed CSV imports.
Added Owner Recovery admin-post hook if it was not already registered.
1.8.9-global.8.4
Added ClubOps Activity Log admin screen as the first low-risk operations-replacement layer toward deeper club-management parity.
Added filters for object type, event type, date range, actor, and keyword search.
Added CSV export for recent/filtered activity records.
Added Activity Log launcher tile and submenu entry.
Added Activity Log capability to ClubOps manager/admin roles.
Added audit entries for settings and dashboard tile changes.
HV ClubOps Global v1.8.9-global.8.3
Fixed public membership checkout forms that could hit WordPress's "The link you followed has expired" page when frontend caching/builders served a stale or altered nonce.
Membership purchase forms now use a dedicated public nonce field and a same-site fallback instead of WordPress's hard-stop nonce screen.
Added a friendly frontend expired/cached form message instead of a dead-end WordPress error.
Tightened public membership card title wrapping so long plan names like Student/Senior Monthly do not overflow or clip in the first card.
== 1.8.9-global.8.2 ==
Hotfix: live board status dot now reflects actual resource status instead of the imported resource/accent color. Available now shows green, occupied remains blue, reserved is amber, blocked/closed is red, and inactive is gray.
Fixed live board status badge CSS selectors so the visible pill matches the status class correctly.
Converted common display icon keywords like pickleball, stadium, golf, coffee, and locker into icons instead of printing the raw words before resource names.
== 1.8.9-global.8.1 ==
Hotfix: restored the missing membership billing scheduler method referenced during plugin boot.
Prevents a runtime fatal error caused by v1.8.9-global.8 calling maybe_schedule_membership_billing() before the method existed.
Keeps Stage 1 monthly billing behavior from global.8 intact.
Back up the WordPress database and files regularly.
Test plugin updates on staging before production when possible.
Confirm WooCommerce payment flows after major WooCommerce or payment gateway updates.
Review imports before running them on production.
Keep SMTP/mail delivery working and monitor failed emails.
Periodically review inactive users, old reservations, expired plans, and archived programs.
Update policy
ClubOps Global is a one-time-purchase product unless otherwise stated at purchase. Future upgrades, custom feature builds, implementation services, migration help, support retainers, and version updates may be sold separately.
When to request custom work
Custom peak/off-peak pricing rules.
Custom membership restrictions or family/student/staff/legacy plans.
Recurring program generation beyond dated CSV imports.
Final review before putting the portal in front of customers.
Before sending customers to the portal, complete a real-world launch review using the facility’s actual resource, membership, program, payment, waiver, and check-in workflows.
Launch checklist
All public pages exist and are linked correctly.
Navigation only includes pages customers should see.
Facility Type / Vertical Mode is correct for the installation.
Resources are named clearly and match the facility layout.
Membership/package plans are accurate.
Program/class capacity, dates, pricing, and locations are accurate.
Guest booking creates a clean lead/member record.
Account claim links create and link user accounts correctly.
Member pricing and package credits apply correctly.
WooCommerce orders and payment statuses update correctly.
Waivers, check-ins, and live board states work as expected.
PWA install and reminder settings are tested on the intended devices.
Recommended next step
The current v1.8.8 Global.7 workflow is ready for live review. The next priority is to test the platform against real booking, membership, program, check-in, waiver, payment, and portal workflows, then identify the refinements needed before broader staff or customer rollout. For Global.7, also confirm that Facility Mode starter data is either production-ready or replaced with imported real facility data.
Added gym-specific booking copy, waiver copy, email opt-in copy, PWA naming, and member code defaults.
Added starter gym resources: Main Training Floor, Studio Room 1, Studio Room 2, Turf Lane 1, and Private Training Room.
Added starter gym plans: Basic Gym Membership, Unlimited Classes Membership, 10-Class Pack, Personal Training 5-Pack, and Drop-In Class Pass.
Added starter class/program examples: HIIT Conditioning, Strength Foundations, Yoga Mobility, Open Gym Drop-In, Small Group Training, and Youth Athletic Performance.
Added program types for Class / Group Fitness, Open Gym, Personal Training, and Youth Training.
Added shortcode aliases: [hv_clubops_classes], [hv_clubops_gym_classes], and [hv_clubops_gym_checkin].
Added commercial LICENSE.txt file in the product ZIP.
Updated product positioning from court/club software to a broader WordPress facility operations platform.
Compatibility note: This support material covers the v1.8.8 Global.7 support package. Installations should still be tested on staging before production updates, especially when WooCommerce payments, imports, PWA, or custom theme styling are involved.