ClubOps Global – Full Changelog
============================================================
VERSION: 1.8.8 MODULE: GLOBAL7 RELEASE PACKAGE (1) FILE: clubops-global-v1.8.8-global7-release-package (1).zip ============================================================ ClubOps Global Changelog Version: 1.8.8-global.7 Release Type: Major Update Why this is a major update ClubOps Global now includes Facility Modes / Vertical Pack functionality. This expands the product from a court/club-focused operations system into a broader WordPress facility operations platform for courts, golf simulator facilities, gyms, fitness studios, hybrid facilities, and custom facility workflows. Added - Facility Type / Vertical Mode setting. - Setup & Tools > Facility Mode / Vertical Pack panel. - Gym / Fitness Facility Mode. - Gym-specific booking copy, waiver copy, email opt-in copy, PWA naming, and member code defaults. - Starter gym resources: Main Training Floor, Studio Room 1, Studio Room 2, Turf Lane 1, Private Training Room. - Starter gym plans: Basic Gym Membership, Unlimited Classes Membership, 10-Class Pack, Personal Training 5-Pack, Drop-In Class Pass. - Starter class/program examples: HIIT Conditioning, Strength Foundations, Yoga Mobility, Open Gym Drop-In, Small Group Training, Youth Athletic Performance. - New program types: Class / Group Fitness, Open Gym, Personal Training, Youth Training. - New shortcode aliases: [hv_clubops_classes], [hv_clubops_gym_classes], [hv_clubops_gym_checkin]. - Commercial LICENSE.txt file included in the ZIP. Changed - Product positioning updated from club/court software to a broader WordPress facility operations platform. - Product page and product description now identify v1.8.8 Global.7 as a major update. - Feature language now includes gyms, training centers, hybrid facilities, class workflows, and vertical facility functionality. - Setup/import/report language now includes Facility Modes. Notes - Existing data is preserved. - Facility starter packs create/verify matching starter items only when those names do not already exist. - The one-time license model remains unchanged. - Major feature upgrades, custom modules, migrations, setup work, and extended support are separate unless included in the purchased package. - Practical security and compatibility maintenance for the purchased branch should not be treated like a monthly ransom. ============================================================
VERSION: 1.8.8 MODULE: GLOBAL7 RELEASE PACKAGE FILE: clubops-global-v1.8.8-global7-release-package.zip ============================================================ ClubOps Global Changelog Version: 1.8.8-global.7 Release Type: Major Update Why this is a major update ClubOps Global now includes Facility Modes / Vertical Pack functionality. This expands the product from a court/club-focused operations system into a broader WordPress facility operations platform for courts, golf simulator facilities, gyms, fitness studios, hybrid facilities, and custom facility workflows. Added - Facility Type / Vertical Mode setting. - Setup & Tools > Facility Mode / Vertical Pack panel. - Gym / Fitness Facility Mode. - Gym-specific booking copy, waiver copy, email opt-in copy, PWA naming, and member code defaults. - Starter gym resources: Main Training Floor, Studio Room 1, Studio Room 2, Turf Lane 1, Private Training Room. - Starter gym plans: Basic Gym Membership, Unlimited Classes Membership, 10-Class Pack, Personal Training 5-Pack, Drop-In Class Pass. - Starter class/program examples: HIIT Conditioning, Strength Foundations, Yoga Mobility, Open Gym Drop-In, Small Group Training, Youth Athletic Performance. - New program types: Class / Group Fitness, Open Gym, Personal Training, Youth Training. - New shortcode aliases: [hv_clubops_classes], [hv_clubops_gym_classes], [hv_clubops_gym_checkin]. - Commercial LICENSE.txt file included in the ZIP. Changed - Product positioning updated from club/court software to a broader WordPress facility operations platform. - Product page and product description now identify v1.8.8 Global.7 as a major update. - Feature language now includes gyms, training centers, hybrid facilities, class workflows, and vertical facility functionality. - Setup/import/report language now includes Facility Modes. Notes - Existing data is preserved. - Facility starter packs create/verify matching starter items only when those names do not already exist. - The one-time license model remains unchanged. - Major feature upgrades, custom modules, migrations, setup work, and extended support are separate unless included in the purchased package. - Practical security and compatibility maintenance for the purchased branch should not be treated like a monthly ransom. ============================================================
VERSION: 1.8.8 MODULE: GLOBAL7.1 READY RELEASE FILE: clubops-global-v1.8.8-global7.1-ready-release.zip ============================================================ ClubOps Global Changelog Version: 1.8.8-global.7.1 Release Type: License UI Hotfix / Full Plugin Build Changed - Removed the customer-facing License Server URL display from the ClubOps license activation screen. - Replaced it with clean user-facing copy: license verification is handled automatically by Web Vine Marketing. - Stopped saving the license API endpoint in customer-facing plugin options. - Kept the license endpoint internal to the plugin code. - Bumped plugin version to 1.8.8-global.7.1 for traceability. Preserved - All v1.8.8-global.7 functionality. - Facility Modes / Vertical Packs. - Gym / Fitness Facility Mode. - Starter resources, plans, and class templates. - Booking, memberships, waivers, check-ins, live board, email opt-in, PWA, reports, WooCommerce support, and license gating. - Full plugin assets and included files. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.0 OFFICIAL PUBLIC RELEASE FILE: clubops-global-v1.8.9-global.0-official-public-release.zip ============================================================ ClubOps Global v1.8.9-global.0 Official Public Release Added - Device-aware PWA install screen logic. - Android / Chrome / Edge install prompt support when the browser exposes the install event. - iPhone / iPad installation instructions for Safari / Share menu / Add to Home Screen. - Desktop install guidance for Chrome / Edge app installation. - Configurable PWA splash screen settings. - Splash logo URL setting. - Splash background color setting. - Splash title setting. - Splash subtitle setting. - Splash duration setting. - Improved PWA manifest output and app branding controls. - Standalone app-mode handling for installed PWA sessions. Preserved - Global.7 facility mode / vertical pack work. - Gym / Fitness facility mode. - Court, golf, gym, hybrid, and custom facility options. - Existing booking, membership, program, event, league, tournament, standings, scoreboard, check-in, waiver, portal, and owner recovery functionality. - Global.7.1 customer-facing license screen cleanup. Notes - Upload only the installable plugin ZIP inside this package. - Do not upload this full release package through WordPress as a plugin. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.0 READY RELEASE FILE: clubops-global-v1.8.9-global.0-ready-release.zip ============================================================ ClubOps Global Changelog Version: 1.8.9-global.0 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.2 OFFICIAL PUBLIC RELEASE FILE: clubops-global-v1.8.9-global.2-official-public-release.zip ============================================================ = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.3 OFFICIAL PUBLIC RELEASE FILE: clubops-global-v1.8.9-global.3-official-public-release.zip ============================================================ = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.8 MODULE: GLOBAL7.1 PLUGIN FILE: hv-clubops-global-v1.8.8-global7.1-plugin.zip ============================================================ ClubOps Global Changelog Version: 1.8.8-global.7.1 Release Type: License UI Hotfix / Full Plugin Build Changed - Removed the customer-facing License Server URL display from the ClubOps license activation screen. - Replaced it with clean user-facing copy: license verification is handled automatically by Web Vine Marketing. - Stopped saving the license API endpoint in customer-facing plugin options. - Kept the license endpoint internal to the plugin code. - Bumped plugin version to 1.8.8-global.7.1 for traceability. Preserved - All v1.8.8-global.7 functionality. - Facility Modes / Vertical Packs. - Gym / Fitness Facility Mode. - Starter resources, plans, and class templates. - Booking, memberships, waivers, check-ins, live board, email opt-in, PWA, reports, WooCommerce support, and license gating. - Full plugin assets and included files. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.3 FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.3.zip ============================================================ = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.4 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.4-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.5 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.5-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.5 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.6 FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.6.zip ============================================================ 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.7 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.7-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ = 1.8.9-global.7 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.1 HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.1-HOTFIX.zip ============================================================ == 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.10 INSTALLABLE PUBLIC RELEASE (1) FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.10-INSTALLABLE-PUBLIC-RELEASE (1).zip ============================================================ 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.10 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.10-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.11 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.11-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.12 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.12-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.13 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.13-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.14 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.14-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.15 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.15-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.16 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.16-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.17 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.17-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.17.1 ADMIN MENU CLEANUP FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.17.1-ADMIN-MENU-CLEANUP.zip ============================================================ Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.18 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.18-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.19 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.19-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.2 HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.2-HOTFIX.zip ============================================================ == 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.20 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.20-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.20.1 HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.20.1-HOTFIX.zip ============================================================ Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.21 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.21-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.22 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.22-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.23 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.23-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.24 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.24-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.25 FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.25.zip ============================================================ Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.26 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.26-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.27 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.27-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.27.1 COMMUNICATIONS HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.27.1-COMMUNICATIONS-HOTFIX.zip ============================================================ = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.27.2 COMMUNICATIONS VISUAL HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.27.2-COMMUNICATIONS-VISUAL-HOTFIX.zip ============================================================ v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.27.3 COMMUNICATIONS LAYOUT HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.27.3-COMMUNICATIONS-LAYOUT-HOTFIX.zip ============================================================ v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.27.4 MAIL DIAGNOSTICS HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.27.4-MAIL-DIAGNOSTICS-HOTFIX.zip ============================================================ = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.27.5 MAIL TRANSPORT HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.27.5-MAIL-TRANSPORT-HOTFIX.zip ============================================================ = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.28 COMMAND CENTER RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.28-COMMAND-CENTER-RELEASE.zip ============================================================ = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.29 MEMBER PORTAL DASHBOARD RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.29-MEMBER-PORTAL-DASHBOARD-RELEASE.zip ============================================================ = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.3 HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.3-HOTFIX.zip ============================================================ 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.30 BRANDING ALIGNMENT RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.30-BRANDING-ALIGNMENT-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.31 FRONT DESK STAFF HUB RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.31-FRONT-DESK-STAFF-HUB-RELEASE.zip ============================================================ = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.32 FRONT DESK HANDOFF NOTES RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.32-FRONT-DESK-HANDOFF-NOTES-RELEASE.zip ============================================================ = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.33 FRONT DESK DAILY CHECKLIST RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.33-FRONT-DESK-DAILY-CHECKLIST-RELEASE.zip ============================================================ = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.33.1 STAFF HUB FRONTEND LAYOUT HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.33.1-STAFF-HUB-FRONTEND-LAYOUT-HOTFIX.zip ============================================================ = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.34 STAFF CHECKLIST MANAGER RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.34-STAFF-CHECKLIST-MANAGER-RELEASE.zip ============================================================ = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.34.1 PROGRAMS VIEW TOGGLE HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.34.1-PROGRAMS-VIEW-TOGGLE-HOTFIX.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.35 PROGRAMS PROGRESSIVE LOADING RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.35-PROGRAMS-PROGRESSIVE-LOADING-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.36 PROGRAMS DATE QUICK FILTERS RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.36-PROGRAMS-DATE-QUICK-FILTERS-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.37 PROGRAMS TIME QUICK FILTERS RELEASE (1) FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.37-PROGRAMS-TIME-QUICK-FILTERS-RELEASE (1).zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.37 PROGRAMS TIME QUICK FILTERS RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.37-PROGRAMS-TIME-QUICK-FILTERS-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.38 PROGRAMS FILTER UX BUNDLE RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.38-PROGRAMS-FILTER-UX-BUNDLE-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.4 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.4-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ = 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.40 PROGRAMS SHARE CALENDAR BUNDLE RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.40-PROGRAMS-SHARE-CALENDAR-BUNDLE-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.41 FRONTEND CALENDAR RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.41-FRONTEND-CALENDAR-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.41.1 CALENDAR VISUAL HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.41.1-CALENDAR-VISUAL-HOTFIX.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.41.2 CALENDAR OVERFLOW COMPACT HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.41.2-CALENDAR-OVERFLOW-COMPACT-HOTFIX.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.41.3 CALENDAR DAY MODAL HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.41.3-CALENDAR-DAY-MODAL-HOTFIX.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.41.4 CALENDAR DAY CLICK HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.41.4-CALENDAR-DAY-CLICK-HOTFIX.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.42 PUBLIC FRONTEND HUB RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.42-PUBLIC-FRONTEND-HUB-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.43 PUBLIC SCHEDULE WIDGETS RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.43-PUBLIC-SCHEDULE-WIDGETS-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.44 PUBLIC PAGE GENERATOR RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.44-PUBLIC-PAGE-GENERATOR-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.44.1 PUBLIC PAGE GENERATOR FIT HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.44.1-PUBLIC-PAGE-GENERATOR-FIT-HOTFIX.zip ============================================================ ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.5 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.5-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.6 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.6-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.6.1 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.6.1-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ = 1.8.9-global.8.6.1 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.6.2 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.6.2-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ = 1.8.9-global.8.6.2 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.6.2 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.7 INSTALLABLE PUBLIC RELEASE (1) FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.7-INSTALLABLE-PUBLIC-RELEASE (1).zip ============================================================ HV ClubOps Global v1.8.9-global.8.7 - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.7 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.7 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.7 INSTALLABLE PUBLIC RELEASE (2) FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.7-INSTALLABLE-PUBLIC-RELEASE (2).zip ============================================================ HV ClubOps Global v1.8.9-global.8.7 - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.7 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.7 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.7 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.7-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ HV ClubOps Global v1.8.9-global.8.7 - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.7 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.7 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.8 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.8-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.8.1 CSS HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.8.1-CSS-HOTFIX.zip ============================================================ 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.8.2 PRINT HOTFIX FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.8.2-PRINT-HOTFIX.zip ============================================================ 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8.9 INSTALLABLE PUBLIC RELEASE FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.9-INSTALLABLE-PUBLIC-RELEASE.zip ============================================================ 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.8 FILE: HV-CLUBOPS-GLOBAL-v1.8.9-global.8.zip ============================================================ HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: FINAL FILE: HV-CLUBOPS-GLOBAL-v2.0.0-FINAL.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: OFFICIAL RELEASE FILE: HV-CLUBOPS-GLOBAL-v2.0.0-OFFICIAL-RELEASE.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC1 LAUNCH CANDIDATE FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC1-LAUNCH-CANDIDATE.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC10 BOOKING PAYMENT FLOW HOLD UX FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC10-BOOKING-PAYMENT-FLOW-HOLD-UX.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC12 BOOKING CHECKOUT HANDOFF FIX FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC12-BOOKING-CHECKOUT-HANDOFF-FIX.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC13 PAY NOW ORDER RECOVERY FIX FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC13-PAY-NOW-ORDER-RECOVERY-FIX.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC14 SPLIT PAYER IDENTITY FIX FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC14-SPLIT-PAYER-IDENTITY-FIX.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC15 SPLIT AJAX PAYER EMAIL FIX FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC15-SPLIT-AJAX-PAYER-EMAIL-FIX.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC16 SPLIT FLOW EMAIL CLEANUP FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC16-SPLIT-FLOW-EMAIL-CLEANUP.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC17 SPLIT PAYMENT EMAIL CTA FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC17-SPLIT-PAYMENT-EMAIL-CTA.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC18 SPLIT EMAIL TEMPLATE SETTINGS FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC18-SPLIT-EMAIL-TEMPLATE-SETTINGS.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC19 SPLIT ADMIN RECOVERY STATUS SYNC FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC19-SPLIT-ADMIN-RECOVERY-STATUS-SYNC.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC2 PREFLIGHT LAUNCH CANDIDATE FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC2-PREFLIGHT-LAUNCH-CANDIDATE.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC21 CURRENCY LOCALIZATION FINALIZATION FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC21-CURRENCY-LOCALIZATION-FINALIZATION.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC3 PREFLIGHT POLISH LAUNCH CANDIDATE FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC3-PREFLIGHT-POLISH-LAUNCH-CANDIDATE.zip ============================================================ Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC4 COMPLETION AUDIT BETA FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC4-COMPLETION-AUDIT-BETA.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC5 OPERATIONS AUTOMATION BATCH FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC5-OPERATIONS-AUTOMATION-BATCH.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC6 FAMILY GROUP ACCOUNTS BATCH FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC6-FAMILY-GROUP-ACCOUNTS-BATCH.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC7 ADMIN UI POLISH BATCH FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC7-ADMIN-UI-POLISH-BATCH.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC8 SPLIT BILLING BATCH FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC8-SPLIT-BILLING-BATCH.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.0 MODULE: RC9 BILLING SUBSCRIPTION READINESS FILE: HV-CLUBOPS-GLOBAL-v2.0.0-RC9-BILLING-SUBSCRIPTION-READINESS.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. ============================================================
VERSION: 2.0.1 MODULE: GIFT CARDS MENU CLEANUP FILE: HV-CLUBOPS-GLOBAL-v2.0.1-GIFT-CARDS-MENU-CLEANUP.zip ============================================================ ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ============================================================
VERSION: 2.0.2 MODULE: GIFT CARDS UI POLISH FILE: HV-CLUBOPS-GLOBAL-v2.0.2-GIFT-CARDS-UI-POLISH.zip ============================================================ 2.0.2 - Gift Cards Admin UI Polish - Improved the Gift Cards admin page layout, stats cards, form spacing, search panel, shortcode panel, and table styling. - Fixed the Gift Cards page wrapper so existing premium admin styles apply correctly. ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ============================================================
VERSION: 2.0.3 MODULE: GIFT CARDS LAYOUT FIX FILE: HV-CLUBOPS-GLOBAL-v2.0.3-GIFT-CARDS-LAYOUT-FIX.zip ============================================================ 2.0.3 - Gift Cards Redeem/Layout Containment Fix - Fixed the Gift Cards admin Redeem panel so the Staff Note field no longer overlaps the Public Shortcodes panel. - Added stronger input, textarea, and panel containment for the Gift Cards admin page. - Improved shortcode panel spacing and responsive behavior. 2.0.2 - Gift Cards Admin UI Polish - Improved the Gift Cards admin page layout, stats cards, form spacing, search panel, shortcode panel, and table styling. - Fixed the Gift Cards page wrapper so existing premium admin styles apply correctly. ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ============================================================
VERSION: 2.1.0 MODULE: COURT OPS FILE: HV-CLUBOPS-GLOBAL-v2.1.0-COURT-OPS.zip ============================================================ = 2.1.0 = * Added Court Ops engine for challenge courts, paddle queue management, open play rotation, skill-level sessions, DUPR-ready workflows, permanent reservations, resource/simulator rules, guest limits, and queue no-show handling. * Added shortcodes: [hv_clubops_paddle_queue], [hv_clubops_open_play_rotation], [hv_clubops_challenge_courts], and [hv_clubops_court_ops]. * Added Court Ops admin page with active session stats, queue actions, permanent reservation generation, and resource rule management. 2.0.3 - Gift Cards Redeem/Layout Containment Fix - Fixed the Gift Cards admin Redeem panel so the Staff Note field no longer overlaps the Public Shortcodes panel. - Added stronger input, textarea, and panel containment for the Gift Cards admin page. - Improved shortcode panel spacing and responsive behavior. 2.0.2 - Gift Cards Admin UI Polish - Improved the Gift Cards admin page layout, stats cards, form spacing, search panel, shortcode panel, and table styling. - Fixed the Gift Cards page wrapper so existing premium admin styles apply correctly. ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ============================================================
VERSION: 2.1.1 MODULE: FILE: HV-CLUBOPS-GLOBAL-v2.1.1-.zip ============================================================ = 2.1.0 = * Added Court Ops engine for challenge courts, paddle queue management, open play rotation, skill-level sessions, DUPR-ready workflows, permanent reservations, resource/simulator rules, guest limits, and queue no-show handling. * Added shortcodes: [hv_clubops_paddle_queue], [hv_clubops_open_play_rotation], [hv_clubops_challenge_courts], and [hv_clubops_court_ops]. * Added Court Ops admin page with active session stats, queue actions, permanent reservation generation, and resource rule management. 2.0.3 - Gift Cards Redeem/Layout Containment Fix - Fixed the Gift Cards admin Redeem panel so the Staff Note field no longer overlaps the Public Shortcodes panel. - Added stronger input, textarea, and panel containment for the Gift Cards admin page. - Improved shortcode panel spacing and responsive behavior. 2.0.2 - Gift Cards Admin UI Polish - Improved the Gift Cards admin page layout, stats cards, form spacing, search panel, shortcode panel, and table styling. - Fixed the Gift Cards page wrapper so existing premium admin styles apply correctly. ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ## 2.1.1 - Court Ops / Gift Cards Dashboard Integration - Added Court Ops and Gift Cards to dashboard launcher tile definitions and default visible tiles. - Added dashboard command-center metrics for paddle queue, court sessions, permanent reservations, gift card activity, and open gift card balance. - Added action-required rows for Court Queue No-Shows and Gift Card Activity Today. - Added Quick Actions for Court Ops and Gift Card issue/redeem workflows. - Added Launch Readiness rows for Court Ops resource/session setup and Gift Cards table/status. - Added dashboard stat cards for Court Sessions, Paddle Queue, Permanent Reservations, Active Gift Cards, and Gift Card Balance. - Added dashboard shortcode references for gift card and court operations shortcodes. ============================================================
VERSION: 2.2.0 MODULE: SUPPORT TICKETS UPGRADER FILE: HV-CLUBOPS-GLOBAL-v2.2.0-SUPPORT-TICKETS-UPGRADER.zip ============================================================ = 2.1.0 = * Added Court Ops engine for challenge courts, paddle queue management, open play rotation, skill-level sessions, DUPR-ready workflows, permanent reservations, resource/simulator rules, guest limits, and queue no-show handling. * Added shortcodes: [hv_clubops_paddle_queue], [hv_clubops_open_play_rotation], [hv_clubops_challenge_courts], and [hv_clubops_court_ops]. * Added Court Ops admin page with active session stats, queue actions, permanent reservation generation, and resource rule management. 2.0.3 - Gift Cards Redeem/Layout Containment Fix - Fixed the Gift Cards admin Redeem panel so the Staff Note field no longer overlaps the Public Shortcodes panel. - Added stronger input, textarea, and panel containment for the Gift Cards admin page. - Improved shortcode panel spacing and responsive behavior. 2.0.2 - Gift Cards Admin UI Polish - Improved the Gift Cards admin page layout, stats cards, form spacing, search panel, shortcode panel, and table styling. - Fixed the Gift Cards page wrapper so existing premium admin styles apply correctly. ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ## 2.1.1 - Court Ops / Gift Cards Dashboard Integration - Added Court Ops and Gift Cards to dashboard launcher tile definitions and default visible tiles. - Added dashboard command-center metrics for paddle queue, court sessions, permanent reservations, gift card activity, and open gift card balance. - Added action-required rows for Court Queue No-Shows and Gift Card Activity Today. - Added Quick Actions for Court Ops and Gift Card issue/redeem workflows. - Added Launch Readiness rows for Court Ops resource/session setup and Gift Cards table/status. - Added dashboard stat cards for Court Sessions, Paddle Queue, Permanent Reservations, Active Gift Cards, and Gift Card Balance. - Added dashboard shortcode references for gift card and court operations shortcodes. ## 2.2.0 - Support Ticket System and Central Support Hub - Added client-side ClubOps Support Tickets module. - Added local support ticket tables and message history table. - Added Support Tickets admin page for facility installs. - Added ticket creation, local storage, status changes, assignment, replies, private notes, and retry hub sync. - Added default support email routing to growth@webvinemarketing.com. - Added optional remote push to central ClubOps Support Hub endpoint with site key and HMAC shared-secret signature. - Added REST callbacks so a central support hub can push replies and status updates back to the facility install. - Added [hv_clubops_support_ticket] shortcode. - Added Support Tickets to dashboard tiles, stats, quick actions, action required, launch readiness, and shortcode references. - Added separate ClubOps Support Hub parent plugin for Web Vine Studio site. - Parent hub receives client tickets, stores sites/tickets/messages, assigns tickets, answers tickets, closes tickets, emails replies, and pushes replies/status back to client installs when endpoint and secret are configured. ============================================================
VERSION: 2.2.1 MODULE: GENERAL UPDATE FILE: HV-CLUBOPS-GLOBAL-v2.2.1.zip ============================================================ = 2.1.0 = * Added Court Ops engine for challenge courts, paddle queue management, open play rotation, skill-level sessions, DUPR-ready workflows, permanent reservations, resource/simulator rules, guest limits, and queue no-show handling. * Added shortcodes: [hv_clubops_paddle_queue], [hv_clubops_open_play_rotation], [hv_clubops_challenge_courts], and [hv_clubops_court_ops]. * Added Court Ops admin page with active session stats, queue actions, permanent reservation generation, and resource rule management. 2.0.3 - Gift Cards Redeem/Layout Containment Fix - Fixed the Gift Cards admin Redeem panel so the Staff Note field no longer overlaps the Public Shortcodes panel. - Added stronger input, textarea, and panel containment for the Gift Cards admin page. - Improved shortcode panel spacing and responsive behavior. 2.0.2 - Gift Cards Admin UI Polish - Improved the Gift Cards admin page layout, stats cards, form spacing, search panel, shortcode panel, and table styling. - Fixed the Gift Cards page wrapper so existing premium admin styles apply correctly. ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ## 2.1.1 - Court Ops / Gift Cards Dashboard Integration - Added Court Ops and Gift Cards to dashboard launcher tile definitions and default visible tiles. - Added dashboard command-center metrics for paddle queue, court sessions, permanent reservations, gift card activity, and open gift card balance. - Added action-required rows for Court Queue No-Shows and Gift Card Activity Today. - Added Quick Actions for Court Ops and Gift Card issue/redeem workflows. - Added Launch Readiness rows for Court Ops resource/session setup and Gift Cards table/status. - Added dashboard stat cards for Court Sessions, Paddle Queue, Permanent Reservations, Active Gift Cards, and Gift Card Balance. - Added dashboard shortcode references for gift card and court operations shortcodes. ## 2.2.0 - Support Ticket System and Central Support Hub - Added client-side ClubOps Support Tickets module. - Added local support ticket tables and message history table. - Added Support Tickets admin page for facility installs. - Added ticket creation, local storage, status changes, assignment, replies, private notes, and retry hub sync. - Added default support email routing to growth@webvinemarketing.com. - Added optional remote push to central ClubOps Support Hub endpoint with site key and HMAC shared-secret signature. - Added REST callbacks so a central support hub can push replies and status updates back to the facility install. - Added [hv_clubops_support_ticket] shortcode. - Added Support Tickets to dashboard tiles, stats, quick actions, action required, launch readiness, and shortcode references. - Added separate ClubOps Support Hub parent plugin for Web Vine Studio site. - Parent hub receives client tickets, stores sites/tickets/messages, assigns tickets, answers tickets, closes tickets, emails replies, and pushes replies/status back to client installs when endpoint and secret are configured. ## 2.2.1 - Support Tickets Access Fix - Fixed Support Tickets admin menu registration. - Added dedicated hvco_manage_support_tickets capability. - Added capability assignment for administrator, ClubOps admin, and ClubOps manager roles. - Added manage_options fallback so a real site owner/admin cannot be blocked from the Support Tickets page. - Added runtime admin_init capability refresh for already-installed sites. - Updated dashboard tile capability handling so admins can access Support Tickets from tiles and menu. ============================================================
VERSION: 2.2.2 MODULE: SUPPORT DESK UI FILE: HV-CLUBOPS-GLOBAL-v2.2.2-SUPPORT-DESK-UI.zip ============================================================ = 2.1.0 = * Added Court Ops engine for challenge courts, paddle queue management, open play rotation, skill-level sessions, DUPR-ready workflows, permanent reservations, resource/simulator rules, guest limits, and queue no-show handling. * Added shortcodes: [hv_clubops_paddle_queue], [hv_clubops_open_play_rotation], [hv_clubops_challenge_courts], and [hv_clubops_court_ops]. * Added Court Ops admin page with active session stats, queue actions, permanent reservation generation, and resource rule management. 2.0.3 - Gift Cards Redeem/Layout Containment Fix - Fixed the Gift Cards admin Redeem panel so the Staff Note field no longer overlaps the Public Shortcodes panel. - Added stronger input, textarea, and panel containment for the Gift Cards admin page. - Improved shortcode panel spacing and responsive behavior. 2.0.2 - Gift Cards Admin UI Polish - Improved the Gift Cards admin page layout, stats cards, form spacing, search panel, shortcode panel, and table styling. - Fixed the Gift Cards page wrapper so existing premium admin styles apply correctly. ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ## 2.1.1 - Court Ops / Gift Cards Dashboard Integration - Added Court Ops and Gift Cards to dashboard launcher tile definitions and default visible tiles. - Added dashboard command-center metrics for paddle queue, court sessions, permanent reservations, gift card activity, and open gift card balance. - Added action-required rows for Court Queue No-Shows and Gift Card Activity Today. - Added Quick Actions for Court Ops and Gift Card issue/redeem workflows. - Added Launch Readiness rows for Court Ops resource/session setup and Gift Cards table/status. - Added dashboard stat cards for Court Sessions, Paddle Queue, Permanent Reservations, Active Gift Cards, and Gift Card Balance. - Added dashboard shortcode references for gift card and court operations shortcodes. ## 2.2.0 - Support Ticket System and Central Support Hub - Added client-side ClubOps Support Tickets module. - Added local support ticket tables and message history table. - Added Support Tickets admin page for facility installs. - Added ticket creation, local storage, status changes, assignment, replies, private notes, and retry hub sync. - Added default support email routing to growth@webvinemarketing.com. - Added optional remote push to central ClubOps Support Hub endpoint with site key and HMAC shared-secret signature. - Added REST callbacks so a central support hub can push replies and status updates back to the facility install. - Added [hv_clubops_support_ticket] shortcode. - Added Support Tickets to dashboard tiles, stats, quick actions, action required, launch readiness, and shortcode references. - Added separate ClubOps Support Hub parent plugin for Web Vine Studio site. - Parent hub receives client tickets, stores sites/tickets/messages, assigns tickets, answers tickets, closes tickets, emails replies, and pushes replies/status back to client installs when endpoint and secret are configured. ## 2.2.1 - Support Tickets Access Fix - Fixed Support Tickets admin menu registration. - Added dedicated hvco_manage_support_tickets capability. - Added capability assignment for administrator, ClubOps admin, and ClubOps manager roles. - Added manage_options fallback so a real site owner/admin cannot be blocked from the Support Tickets page. - Added runtime admin_init capability refresh for already-installed sites. - Updated dashboard tile capability handling so admins can access Support Tickets from tiles and menu. ## 2.2.2 - Support Desk UI + Client-Side Auto Routing - Reworked ClubOps > Support Tickets into a themed support desk instead of a raw routing settings screen. - Removed endpoint/site key/shared secret fields from the normal facility workflow. - Support now works by default through local ticket storage plus email routing to growth@webvinemarketing.com. - Advanced hub routing is now tucked behind an internal advanced panel for Web Vine support use only. - Added install reference/status display so support tickets can be matched to a facility install without asking the client to configure routing. - Added premium Support Desk layout, hero, stats, recent ticket cards, ticket history styling, and support status pills. - Preserved central hub routing for installs where Web Vine chooses to configure it. ============================================================
VERSION: 2.2.3 MODULE: GENERAL UPDATE FILE: HV-CLUBOPS-GLOBAL-v2.2.3.zip ============================================================ = 2.1.0 = * Added Court Ops engine for challenge courts, paddle queue management, open play rotation, skill-level sessions, DUPR-ready workflows, permanent reservations, resource/simulator rules, guest limits, and queue no-show handling. * Added shortcodes: [hv_clubops_paddle_queue], [hv_clubops_open_play_rotation], [hv_clubops_challenge_courts], and [hv_clubops_court_ops]. * Added Court Ops admin page with active session stats, queue actions, permanent reservation generation, and resource rule management. 2.0.3 - Gift Cards Redeem/Layout Containment Fix - Fixed the Gift Cards admin Redeem panel so the Staff Note field no longer overlaps the Public Shortcodes panel. - Added stronger input, textarea, and panel containment for the Gift Cards admin page. - Improved shortcode panel spacing and responsive behavior. 2.0.2 - Gift Cards Admin UI Polish - Improved the Gift Cards admin page layout, stats cards, form spacing, search panel, shortcode panel, and table styling. - Fixed the Gift Cards page wrapper so existing premium admin styles apply correctly. ClubOps Global by Web Vine Studio 2.0.0 - Official 2.0.0 release package. - Promotes the RC21 Currency + Localization Finalization build to official 2.0.0. - Includes the full 2.0 feature set: public page generator, Basic Theme page flow, launch preflight, downloadable launch report, final QA checklist, split billing / multi-payer checkout, split payer emails, editable split email templates, split admin recovery, Upcoming Payments, Pay Now direct checkout handoff, Pay at Counter holds, pay-now order recovery, billing/subscription readiness, family/group accounts, billing profile linkage, automation/webhook foundations, retention scan foundation, currency display controls, WordPress textdomain loading, starter POT file, and frontend label overrides. - No database schema changes from RC21. - No new booking/payment/split/membership logic changes from RC21. - WooCommerce remains the checkout/payment source of truth. - Currency override remains display-only unless the facility's WooCommerce/payment gateway setup handles true multi-currency checkout. ClubOps Global by Web Vine Studio 2.0.0-rc21 - Currency + Localization Finalization. - Added lightweight currency display settings without exchange-rate APIs or external calls. - Added WooCommerce automatic currency formatting mode and optional ClubOps display formatting override mode. - Added base currency code, optional multi-currency display list, symbol override, symbol position, decimals, decimal separator, and thousands separator settings. - WooCommerce remains the payment source of truth. ClubOps currency override controls display formatting only. - Added normal WordPress plugin textdomain loading and a languages/hv-clubops.pot starter translation template. - Added lightweight frontend label overrides in Settings > Currency & Language for facilities that need custom wording or language-specific public labels without a heavy multilingual plugin. - Frontend booking/split payment JavaScript now receives currency formatting and label settings from WordPress. - Booking, split-payment, confirmation, and common public labels can now be adjusted from settings. - Added Currency & Localization checks to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc20 - Final QA / Release Polish Candidate. - Added admin-only 2.0 Official Final QA Checklist in Setup & Tools. - Added final manual ship gate covering normal pay-now, pay-at-counter, split payment, upcoming payments, member/family accounts, programs/events/calendar, email templates, automations/webhooks, generated pages/navigation, and staff recovery. - Added Final QA checks to Release Preflight / Smoke Test. - Added Final QA section to Download Launch Report. - Added support/package handoff reminders for included support windows and optional monthly support. - Kept RC/final-QA language in admin/release documentation rather than customer-facing public page copy. - No database schema changes. - No booking/payment/split/membership logic changes from RC19. ClubOps Global by Web Vine Studio 2.0.0-rc19 - Split Payment Admin Recovery + Status Sync Audit. - Added split payment recovery panel under split-payment reservations in the Reservations admin table. - Staff can now view payer name, payer email, share amount, split status, Woo order, payment link, and last split email log. - Added copyable payment link fields and Open Pay Link buttons for unpaid split shares. - Added admin actions to create missing split Woo orders, resend payer emails, refresh split status, manually mark a share paid, or mark a share failed. - Added secure admin split-payment action handler with booking/payment capability checks and nonces. - Added split status refresh from Woo orders and reservation roll-up sync. - Fixed split response email_sent timing so AJAX response reflects whether payer emails were actually sent. - Patched admin-created Woo payment emails to use direct ClubOps/Woo order-pay URLs. - Patched Woo direct order-pay helper fallback to avoid recursion if Woo endpoint helpers are unavailable. - Added split admin recovery and split status refresh checks to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc18 - Split Email Template Settings Batch. - Exposed split-payment owner and payer wording inside Settings > Email Templates. - Added editable split owner subject, heading, intro, and footer note. - Added editable split payer subject, heading, intro, after-payment note, and fallback-link note. - Added editable split account CTA text and split membership CTA text in the email template area. - Added editable button labels for Pay My Share, Upcoming Payments, Claim/Create Account, Membership Options, and Owner Portal. - Updated split owner and split payer HTML emails to pull wording/buttons from backend settings with current RC17 copy as defaults. - Added public-link/email tokens for portal, account claim, membership, and upcoming payments. - Added split email template readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc17 - Split Payment Email CTA / Account Conversion Batch. - Added HVCO_Public_Links helper for generated page URLs used in customer emails. - Split payer emails are now HTML emails with a clear Pay My Share button. - Split payer emails include Upcoming Payments, Claim/Create Account, and View Membership Options CTAs when enabled. - Booking-owner split emails are now HTML emails with payer link table, portal CTA, claim/create account CTA, and membership CTA. - Added fallback raw checkout URL text below the email button for deliverability/client compatibility. - Added settings defaults for split billing account and membership CTA copy. - Added split CTA email readiness check to Release Preflight / Smoke Test. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc16 - Split Flow Hardening + Email Cleanup. - Split booking form now uses an owned split AJAX submit path that prevents native page refresh and does not rely on the normal submit handler. - Booking form now has native-submit safety attributes so browser fallback cannot silently reload the page. - Split booking now forces full reservation/base total when member/package logic would otherwise reduce the booking to zero before payer shares are generated. - Package credits are not consumed when split billing is selected. - Booking owner now receives a split-payment-specific customer email with payer links and clear held/awaiting-split-payment language. - Split payer emails now clearly explain the payer's share and decode currency entities. - Admin email default copy no longer includes a raw admin URL. - Admin notification rendering strips raw Admin: URL lines for safer email output. - Money formatting now decodes HTML entities so emails/calendar labels show $20.00 instead of $20.00. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc15 - Split AJAX / Payer Email Flow Fix. - Patched split billing frontend so payer rows sync to a hidden JSON payload as well as the REST payload. - Added split-payer validation before submit so split cannot silently refresh with empty payer data. - Added split billing native-submit hardener to prevent silent page refresh when split is checked. - Split booking response now includes payer count and email-sent count. - Split payer links shown onscreen now clearly state that links are usable even if email delivery is unavailable or delayed. - Added explicit name/email attributes to split payer fields for better browser behavior and future fallback support. - Split billing Add/Remove controls are forced to button type to prevent accidental form submission. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc14 - Split Payer Identity / Non-Member Flow Fix. - Split billing now resolves each payer by email against existing WordPress/Woo users and ClubOps members. - Unknown split payer emails now create ClubOps lead/member records instead of remaining disconnected email-only payments. - Split payer Woo orders attach to the matched WP/Woo account when one exists. - Split payment records store resolved member_id/wp_user_id where available. - Split payer emails include the payment link and can include an account-claim link for unclaimed non-member leads. - Account claim auto-invite is triggered for unclaimed split payer leads/members when enabled. - Upcoming Payments now works for regular WordPress/Woo accounts by email even if no ClubOps member profile is linked yet. - Upcoming Payments split payment lookup now checks payer email and wp_user_id. - Added split payer identity checks/details to Release Preflight / Smoke Test and Launch Report. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc13 - Pay-Now Order Creation / Recovery Fix. - Pay-now booking choice now forces Woo order creation even when the global payment mode was request/optional. - Pay-at-counter remains a non-Woo hold path and does not trigger online checkout. - Rebuilt HVCO_Woo::order_payment_url() to always prefer a direct Woo order-pay endpoint instead of cart/account URLs. - Reservation REST checkout_url now uses the direct order-pay helper. - Added woo_order_created response flag for pay-now diagnosis. - Upcoming Payments can now open or create a missing Woo payment order for an unpaid reservation hold. - Added secure hvco_pay_reservation_hold account action with ownership/family permission checks. - Existing unpaid holds without Woo orders can recover through Upcoming Payments. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc12 - Booking Checkout Handoff Fix. - Patched pay-now booking flow to return explicit redirect_to_checkout and checkout_handoff_label response fields. - Frontend now shows a Signed Up confirmation state and then redirects pay-now bookings directly to the Woo order-pay checkout URL. - Added fallback Pay Now / Continue to Secure Checkout button if redirect is blocked. - Added robust HVCO_Woo::order_payment_url() helper to avoid cart/empty-cart style checkout confusion and prefer direct order-pay URLs. - Split payer checkout links and Upcoming Payments checkout links now use the same robust order-pay URL helper. - Pay-at-counter still does not redirect to Woo; it remains a held booking surfaced through Upcoming Payments/account with deadline language. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc11 - Account Upcoming Payments / Pay Now Batch. - Added HVCO_Upcoming_Payments core class. - Added [hv_clubops_upcoming_payments] shortcode. - Added Upcoming Payments section to the logged-in Member Portal dashboard. - Upcoming Payments shows unpaid booking holds with Woo Pay Now checkout links when available. - Upcoming Payments shows pay-at-counter holds with clear hold/deadline language. - Upcoming Payments shows split payer links for the logged-in payer email. - Upcoming Payments shows open membership invoices with Pay Invoice links. - Added Upcoming Payments tile/reference support for generated/account pages where available. - Added Upcoming Payments checks to Release Preflight / Smoke Test and Launch Report. - Patched membership invoice payment permission to support linked household/family profile invoices. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc10 - Booking Payment Flow / Hold UX Batch. - Added HVCO_Booking_Payment_Flow core class. - Added Setup & Tools panel for booking payment choice, pay-at-counter hold hours, and customer-facing hold notice. - Added frontend payment option selector for pay-now online versus pay-at-counter when enabled. - Added counter-pay reservation flow with configurable hold deadline and payment status pay_at_counter. - Patched paid booking REST response to include payment choice, hold deadline, payment due display, and hold notice. - Replaced weak post-submit message with a clear customer confirmation panel showing next action, total, payment status, hold deadline, checkout button, counter-pay notice, or split payer links. - Added booking payment flow checks to Release Preflight / Smoke Test and Download Launch Report. - Normal pay-now checkout remains unchanged when pay-at-counter is not selected. - Split billing remains separate and continues to show payer checkout links. - No database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc9 - Billing Engine / Subscription Readiness Batch. - Added HVCO_Billing_Engine core boundary class. - Added Setup & Tools panel explaining the separation between ClubOps membership lifecycle ownership and WooCommerce payment collection. - Added subscription billing modes: pay-now invoices, addon-ready native subscription bridge, and future native tokenized autobill. - Added safe live-autobill switch that remains off unless a gateway/addon bridge is present. - Added filters/actions for a future free monthly subscription addon or native tokenized payment bridge. - Added billing/subscription readiness checks to Release Preflight / Smoke Test and Download Launch Report. - Added membership invoice/order hooks where available for future subscription bridge integration. - No database schema changes. - No automatic recurring card charging added in this batch. - Normal Woo checkout, split billing, and current reminder/pay-now billing remain unchanged. ClubOps Global by Web Vine Studio 2.0.0-rc8 - Split Billing / Multi-Payer Checkout Batch. - Added HVCO_Split_Billing core class. - Added split payment database table for reservation payer records, payer emails, amounts, Woo order IDs, payment status, and audit data. - Added booking form split-payment controls when split billing is enabled. - Added frontend JavaScript to collect additional payer names/emails and display individual checkout links. - Added separate WooCommerce order creation per split payer. - Patched Woo payment status handling so split-payer orders update split records and only confirm the reservation after all split orders are paid. - Added optional payer email notifications with checkout links. - Added Split Billing panel in Setup & Tools. - Added Split Billing checks to Release Preflight / Smoke Test and Download Launch Report. - Normal single-payer booking/checkout flow remains unchanged unless split billing is selected. - Database schema change: adds hvco_split_payments table. ClubOps Global by Web Vine Studio 2.0.0-rc7 - Admin UI Polish Batch. - Patched Operations Automations & Webhooks settings layout so labels, fields, checkboxes, textarea, and buttons use the premium ClubOps admin card/form styling instead of raw inline browser controls. - Patched Setup & Tools automation form spacing, grid behavior, and responsive layout. - Patched admin table styling and overflow handling so Members and other wide admin tables stay inside their panels instead of breaking the layout. - Improved widefat table spacing, headers, borders, and horizontal scrolling inside ClubOps panels. - No booking/payment logic changes. - No database schema changes. - No automation logic changes. - No family/group account logic changes. ClubOps Global by Web Vine Studio 2.0.0-rc6 - Family / Group Account Completion Batch. - Added HVCO_Family core class. - Added parent/guardian, dependent/child, spouse/partner, guest, and primary account role support using existing member hierarchy fields. - Added member admin Family / Group Account panel for linking parent/guardian profiles and billing profiles. - Added household/group lookup helpers and current-user allowed profile resolution. - Added portal profile picker foundation for logged-in household accounts. - Added Family / Group Accounts panel in Setup & Tools. - Added family/group checks to Release Preflight / Smoke Test and Launch Report. - Added frontend/admin styling for family profile selection and admin family panels. - No database schema changes. - Split billing remains held for the next payment-specific batch. ClubOps Global by Web Vine Studio 2.0.0-rc5 - Operations Completion Batch 1. - Added HVCO_Automations core class. - Added webhook/API bridge foundation with selected event dispatch, JSON envelope, optional HMAC signature, activity logging, and safe disabled-by-default behavior. - Added automation event dispatch points for reservations, check-ins, Woo checkout order creation, Woo reservation payment updates, program create/update, and membership/package create/update. - Added retention automation scan foundation that can create CRM follow-up tasks for inactive members and low package-credit balances while avoiding duplicate open automation tasks. - Added manual Run Retention Scan action in Setup & Tools. - Added Operations Automations & Webhooks configuration panel in Setup & Tools. - Added automation status to the Release Preflight / Smoke Test and downloadable Launch Report. - Added daily automation cron registration and deactivation cleanup. - No database schema changes. - Webhooks and retention automation default to off/safe until explicitly enabled. ClubOps Global by Web Vine Studio 2.0.0-rc4 - Converted the premature 2.0.0 final package back into the release-candidate beta track. - Public/global stable branch remains 1.8.9-global. - Added a visible Release Channel & 2.0+ Roadmap Boundary section in Setup & Tools. - Launch Report now documents the public stable branch, current beta branch, 2.0 finish line, and 2.0+ roadmap boundary. - Tracked 2.0+ roadmap items without activating them: split billing / multi-payer checkout, retention automation triggers, webhook/API automation bridge, and family/parent-child account hierarchy. - No booking/payment logic changes, no import logic changes, no shortcode behavior changes, no page generator logic changes, and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0 - Final 2.0.0 public release package cut from the verified RC3 branch. - Keeps the 2.0 Release Preflight / Smoke Test inside Setup & Tools. - Keeps the downloadable Launch Report with environment, generated page, shortcode, Woo checkout, schedule, and navigation handoff checks. - Includes the RC3 admin polish for improved Ready / Review / Blocked preflight summary pill spacing. - No booking/payment logic changes, no import logic changes, no shortcode changes, no page generator changes, and no database schema changes from RC3. Version 2.0.0-rc3 - Release Candidate Polish - Polished Setup & Tools preflight summary pill spacing and internal padding so Ready / Review / Blocked labels have proper breathing room. - No booking, payment, import, shortcode, page generation, database schema, or front-end flow changes. ClubOps Global by Web Vine Studio 2.0.0-rc2 - Added a live 2.0 Release Preflight / Smoke Test table inside Setup & Tools. - Preflight checks environment readiness, PHP/WordPress minimums, permalinks, WP-Cron status, WooCommerce checkout availability, ClubOps database tables, resources, programs/events, memberships/packages, brand settings, admin email, scheduled jobs, generated page coverage, generated page shortcode/theme content, shortcode registration, member code prefix, and header/footer/navigation handoff responsibilities. - Added preflight summary counts for Ready, Review, and Blocked items. - Added automated preflight results to the downloadable Launch Report. - Kept the patch launch-safe: no booking/payment logic changes and no database schema changes. ClubOps Global by Web Vine Studio 2.0.0-rc1 - Moved the branch into 2.0 release-candidate mode. - Added a 2.0 Launch Candidate Checklist inside Setup & Tools. - Added a Download Launch Report action for client handoff and release QA. - Launch report includes generated page URLs, core shortcodes, brand settings, and header/footer/navigation/template guidance. - Expanded generator notes to explicitly cover theme header, footer, page templates, page titles, and navigation menus. - Tightened Basic Theme generated page fit rules for block themes and full-width/no-title launch setups. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44.1 - Added clearer Setup & Tools menu guidance explaining that page generation creates pages, while WordPress theme navigation must still be curated when block themes auto-list every page. - Patched Basic Theme generated pages to fit better inside default WordPress/block themes. - Basic Theme pages now hide the duplicate default page title on generated pages when supported by the browser. - Basic Theme pages now reduce default block-theme top spacing and full-width wrapper conflicts. - Generated Basic Theme wrappers now start cleaner under default themes while preserving customer-facing sporty styling. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.44 - Added a larger public page generation release. - Setup & Tools now includes two separate page-generator actions: Generate Pages and Generate with Basic Theme. - Generate Pages creates/verifies clean shortcode-only customer pages for theme builders. - Generate with Basic Theme creates/updates ClubOps-generated pages with a clean sporty customer-facing HTML wrapper around the live shortcode module. - Added customer-facing themed page templates for booking, portal, account claim, waiver, check-in, programs, events, calendar, today schedule, memberships, member card, staff hub, access check, competition, live board, and app install pages. - Page generator now stores the current generator style in hvco_default_pages_style. - Updated shortcode reference to include hub, calendar, today, staff hub, member card, app install, and access check shortcodes. - Aligned generated Member Card slug to /my-member-card/ while still detecting the old /member-card/ page if present. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.43 - Added public schedule widget bundle. - New shortcodes: [hv_clubops_today], [hv_clubops_upcoming], [hv_clubops_public_schedule], and [hv_clubops_schedule_strip]. - Public Hub now includes a live Next Up schedule feed with View and Calendar actions. - Added reusable customer-facing schedule cards for Today, upcoming activity, and schedule strips. - Default page generator now creates Today at the Facility using [hv_clubops_today limit=12]. - Schedule widgets are transparent shortcode-friendly blocks and can be placed inside any page section. - Added responsive card, truncation, and mobile stacking styles for schedule-heavy clubs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.42 - Added a larger public frontend hub bundle. - New shortcodes: [hv_clubops_hub] and [hv_clubops_public_hub]. - Added generated default page: Club Hub at /club-hub/. - Hub includes customer-facing cards for Book Now, Facility Calendar, Programs & Events, Memberships, Member Portal, Waiver, Live Facility Board, and Install App. - Hub includes live counts for active resources, today’s posted programs, next 7 days of programs, and portal status. - Staff users see Staff Hub and Access Check shortcuts inside the hub. - Hub shortcode wrapper remains transparent for flexible placement inside any page section. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.4 - Patched calendar month cells so clicking the day number opens that exact day schedule. - Day cells with activities now show a small activity count badge. - The + more action still opens only the clicked day schedule modal. - Added stronger focus/interaction styling for day numbers, event pills, and + more buttons. - Keeps calendar list view scoped to the visible month and prevents full-feed dumps. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.3 - Patched calendar + more behavior so it opens only the clicked day's activities. - + more now opens a same-page modal/day schedule for that exact date instead of switching to the full upcoming list. - Calendar list view is now scoped to the visible month instead of dumping the full 500-item feed. - Day schedule modal includes Details and View/Register actions per activity. - Centered and contained + more button behavior tightened. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.2 - Patched frontend calendar month view with logic-level title truncation for day-cell event labels. - Added responsive compact/dot mode when the calendar is placed inside narrower shortcode areas. - Added day agenda panel for + more buttons so overflow days scroll to a clean same-page agenda section instead of forcing cramped calendar cells. - Centered and contained + more buttons inside calendar day cells. - Added stronger CSS containment for calendar pills, event titles, day cells, and responsive shortcode placements. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41.1 - Patched frontend calendar shortcode styling so the calendar shell stays transparent and can be placed inside any page section. - Kept the themed calendar header and controls while removing unwanted default background behavior from the shortcode wrapper. - Fixed calendar month cell overflow so event pills and + more buttons stay contained inside each day cell. - Added safer box sizing, min-width, overflow, and responsive rules for calendar event labels. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.41 - Added frontend AJAX Facility Calendar. - New shortcodes: [hv_clubops_calendar] and [hv_clubops_events_calendar]. - Calendar supports Month/List views, previous/next month, Today, type filter, search, and same-page detail drawer. - Calendar detail drawer includes View/Register, Add to Calendar, and Copy Link actions. - Default page generator now creates a Facility Calendar page. - REST program data now includes ISO dates, date keys, time labels, deep links, calendar URLs, and type labels for calendar rendering. - Patched Programs filter bar responsiveness so large filter sets wrap cleanly instead of breaking horizontally. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.40 - Added Programs share and calendar bundle. - Customer-facing program cards now include Add to Calendar links that download a public .ics calendar file. - Customer-facing program cards now include Copy Link for direct program deep links. - Public program cards now include stable hvco-program-ID anchors. - Deep-linked program cards visually highlight when opened by hash link. - Share/calendar controls work in both Cards and List views. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.39 - Added a larger Programs discovery filter bundle. - Customer-facing Programs chooser now includes dynamic Location filtering based on posted program locations. - Added Availability filter for Spots Open, Waitlist Open, Free, Paid, Members Only, and Full. - Location and availability filters work with search, type, date quick filters, time quick filters, Cards/List view, Clear Filters, URL query support, no-results state, and progressive loading. - Added rendered public program metadata for location and availability states. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.38 - Added a larger Programs customer filter UX bundle. - Added Clear Filters control to the customer-facing Programs chooser. - Added no-results empty state with inline clear filters action. - Added URL query support for program search, type, date, and time filters. - Fixed program time metadata output so Morning/Afternoon/Evening filtering is enforced on rendered cards. - Preserved Cards/List view, date filters, time filters, and progressive loading together. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.37 - Added customer-facing time quick filters to Programs/Choose a Program pages. - Customers can now filter by All Times, Morning, Afternoon, and Evening. - Time filters work with search, type filters, date filters, Cards/List view, and Show More progressive loading. - Added program time metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.36 - Added customer-facing date quick filters to Programs/Choose a Program pages. - Customers can now filter by All Dates, Today, Tomorrow, Next 7 Days, and Weekend. - Date chips work with search, type filtering, Cards/List view, and Show More progressive loading. - Added program date metadata to public program cards for client-side filtering. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.35 - Added progressive loading to customer-facing Programs/Choose a Program pages. - Large program catalogs now load the first 36 matching rows/cards with a Show More Programs control. - Search and type filters still scan the full catalog, not only the currently displayed items. - Cards/List view toggle remains customer-facing and continues to work with progressive loading. - Added visible "Showing X of Y" result status for long program catalogs. - No database schema changes. ClubOps Global by Web Vine Studio 1.8.9-global.8.34.1 - Added customer-facing Programs view toggle for Cards/List. - List view keeps search and type filtering active while presenting long program catalogs in a cleaner row layout. - Added local browser persistence for the selected programs view. - Added responsive list-view styling for flyers, badges, metadata, price/status badges, and registration actions. - No database schema changes. = 1.8.9-global.8.34 = * Added backend Staff Checklist Template manager. * Added hvco_manage_staff_checklists role capability for managers/custom roles. * Added ClubOps Global > Staff Checklist screen for adding, editing, reordering, disabling, removing, and restoring front-desk checklist tasks. * Staff Hub daily checklist now uses saved template items, with default fallback if no template exists. * Added Staff Hub action link for checklist template managers. * No database schema changes. = 1.8.9-global.8.33.1 = - Staff Hub front-end layout hotfix. - Forced the staff-facing shortcode to break out of narrow block-theme content columns and render as a proper centered operations dashboard on desktop. - Added critical Staff Hub layout CSS directly with the shortcode so theme width rules cannot collapse the page into a thin column. - Rebalanced handoff, checklist, KPI, panel, and action-link layouts for desktop/tablet/mobile. - Added checklist de-duplication safety so only one clean set of daily checklist items renders. - No business logic changes and no database schema changes. = 1.8.9-global.8.33 = - Added Front Desk Daily Checklist release. - Staff Hub now includes a daily opening, operating, and closing checklist for front-desk teams. - Checklist progress is saved per day using WordPress options, with no new database table required. - Completed checklist items show completion time and staff actor. - Checklist updates are logged into the existing Activity Log as staff_checklist events. - No database schema changes. = 1.8.9-global.8.32 = - Added Front Desk Handoff Notes release. - Staff Hub now includes a shift handoff form for opening notes, shift changes, closing notes, maintenance, customer issues, billing notes, and safety notes. - Handoff notes are saved into the existing Activity Log as staff_handoff events, so no new database table is required. - Staff Hub shows the latest 24 hours of handoff notes with staff actor and timestamp. - No database schema changes. = 1.8.9-global.8.31.1 = - Front Desk Staff Hub visual hotfix. - Expanded the staff hub shortcode layout so it breaks out of narrow theme content columns on Twenty Twenty-Five and similar block themes. - Rebalanced staff hub KPI cards, panels, headings, action tiles, and empty states so the page feels like a full operations dashboard instead of a thin embedded card stack. - No business logic changes and no database schema changes. = 1.8.9-global.8.31 = - Added Front Desk Staff Hub release. - Added [hv_clubops_staff_hub] and [hv_clubops_front_desk_hub] shortcodes for staff-facing daily operations. - Added today's reservation run sheet, check-in count, programs/events today, staff coverage, follow-ups due, billing attention, and action links. - Added Staff Hub to default page generation as /staff-hub/. - Preserved internal slugs, tables, capabilities, and existing staff/admin workflows. - No database schema changes. ClubOps Global by Web Vine Studio v1.8.9-global.8.30 - Updated client-facing product branding to ClubOps Global by Web Vine Studio. - Updated plugin header, admin menu label, admin hero brand line, license screen language, setup/release docs, and PWA/default user-facing labels. - Preserved internal slugs, shortcodes, capabilities, table prefixes, class names, and hooks such as hv_clubops and hvco. = 1.8.9-global.8.29 = - Added Member Portal Dashboard / Self-Service Home release. - Enhanced [hv_clubops_portal] for logged-in linked members with a personalized dashboard. - Added portal KPI cards for access status, upcoming bookings, open balance, and available credits. - Added next booking panel with Pay Now and Cancel actions when available. - Added memberships/credits summary, payment attention list, program/event registration list, waiver/access summary, and quick action tiles. - Added unlinked-login state with Claim Account and Book as Guest actions. - Added [hv_clubops_portal_dashboard] as an alias for the upgraded portal experience. - No database schema changes. = 1.8.9-global.8.28 = - Added Admin Command Center / Launch Dashboard. - Added Today at a Glance cards for reservations, check-ins, programs/events, staff shifts, follow-ups due today, and invoices due soon. - Added Action Required queue for payment holds, approvals, reservation payment attention, past-due invoices, overdue follow-ups, refund/credit follow-up, and waitlist entries. - Added Quick Actions for common front-desk workflows. - Added Launch Readiness panel for sender configuration, generated pages, resources, membership plans, programs/events, waivers, WooCommerce checkout, and staff roles. - No database schema changes. = 1.8.9-global.8.27.5 = - Added production mail transport hardening for ClubOps Communications. - Added configurable Send From Name and Send From Email fields to Communications settings. - Added From and Reply-To headers to communication test emails, automated reminders, and booking/payment emails. - Expanded Mail Delivery Diagnostics to distinguish LocalWP Mailpit success from live server SMTP/PHP mail delivery problems. - Added SMTP hook detection hint and From domain visibility for staging/production troubleshooting. - No queue sending logic changed. = 1.8.9-global.8.27.4 = * Communications mail delivery diagnostics added. * Template test email now reports wp_mail acceptance versus failure detail when available. * Added Mail Delivery Diagnostics panel explaining LocalWP/Mailpit/MailHog and production SMTP requirements. * Added activity log detail for test email accepted/failed results. * No queue sending logic changed. v1.8.9-global.8.27.3 * Communications visual hotfix: moved Template Test Email out of the narrow sidebar grid into a full-width row. * Fixed Template Test Email form fields overflowing under the template cards. * Preserved communication queue preview and email sending logic. v1.8.9-global.8.27.2 - Communications visual hotfix for the Template Test Email panel. - Rebuilt the test email controls as a clean responsive full-row layout. - Kept the existing safe test email sending logic unchanged. = 1.8.9-global.8.27.1 = * Hotfix: rendered the Communications queue preview panel that was added in 8.27 but not called on the admin page. * Hotfix: rendered the safe template test email panel inside Communications. * No communication sending logic changed. = 1.8.9-global.8.27 = * Added Communications QA and Delivery Bundle. * Added eligible recipient queue previews for reservation reminders, payment nudges, program/event reminders, and low-credit alerts. * Added CSV export for each communication queue without sending messages. * Added safe test-email tool for communication templates using sample token data. * Added expanded communication token reference and activity log entries for queue exports and test sends. = 1.8.9-global.8.26 = * Added Operations Reporting Bundle. * Expanded Reports dashboard with membership billing health, lifecycle health, CRM pipeline, follow-up load, staff coverage, and daily check-in trend panels. * Added billing, CRM pipeline, follow-ups, staff schedule, and check-in CSV exports. * Added report KPIs for membership revenue, active/paused plans, past-due invoices, open/overdue follow-ups, pipeline value, staff shifts, activity events, and email subscribers. * Added report export activity logging. Version 1.8.9-global.8.25 - Added CRM Pipeline page for member/lead sales and retention tracking. - Added pipeline fields to member records: stage, source, value, last contact, next contact, and pipeline notes. - Added pipeline stats, stage/source/status/next-contact filters, keyword search, inline row updates, bulk stage/source/next-contact updates, and CSV export. - Converted/won pipeline stage can mark the member active; lost stage can mark the member inactive. - Added activity log entries for pipeline updates, bulk updates, and exports. Version 1.8.9-global.8.24 - Member CRM Follow-Ups Stage 2 bundle. - Added CSV export for the current follow-up queue view. - Added bulk complete, reopen, dismiss, and delete actions for follow-ups. - Added quick stats links for open, overdue, due today, and assigned-to-me follow-ups. - Added priority filtering and keyword search for follow-ups. - Added staff reminder email action for open follow-ups. - Added dismiss follow-up action. - Added Follow-Up link and open follow-up status column to the Members admin table. - Added CRM styling for priority rows, overdue tasks, bulk actions, and clickable stats. Version 1.8.9-global.8.23 - Added Member CRM Follow-Ups Stage 1. - Added Follow-Ups admin page for member/lead sales, billing, waiver, renewal, program, and retention tasks. - Added member_tasks database table with assigned staff, due date/time, priority, type, status, and completion tracking. - Added dashboard tile and admin menu priority for Follow-Ups. - Added task completion, reopening, deletion, and activity log entries. Version 1.8.9-global.8.22 - Added Staff Schedule CSV export using the current date/user/status filters. - Added Print Schedule action and print stylesheet for cleaner staff schedule printouts. - Added activity log entry when a staff schedule export is generated. Version 1.8.9-global.8.21 - Staff Schedule Stage 2: added shift editing, staff/status filters, overlap protection, and coverage snapshot. - Added Allow overlap option for intentional double coverage. - Added activity log entries for shift updates. Version 1.8.9-global.8.20.1 - Hotfix: restored Staff Schedule admin page callback to prevent WordPress critical error. - Added safe add/delete staff shift handlers and schedule list rendering. - Added table self-check on Staff Schedule page so the staff shift table is created if needed. Version 1.8.9-global.8.20 - Added Staff Schedule Stage 1. - Added ClubOps > Staff Schedule for shift planning, coverage notes, date filtering, and staff shift deletion. - Added hvco_staff_shifts database table with schema refresh on update. - Added dashboard tile and activity log object links for staff shifts. Version 1.8.9-global.8.19 - Added Household Shared Benefits Stage 1. - Plans/packages can now be marked as shareable with linked household accounts. - Added covered household roles and optional household member limit on plans. - Linked spouse/dependent/billing/guest roles can receive member pricing/access only when the plan explicitly allows sharing. - Access Check now shows when access is granted through a shared household plan. - Booking/program pricing can now recognize eligible shared household membership benefits while defaulting all plans to no sharing. Version 1.8.9-global.8.18 - Added Program Make-Up Credit Stage 1. - Marking a paid cancelled registration as Make-Up now creates or updates a real member credit package when the registration is linked to a member. - Added a system-created Make-Up Credits package used for staff-issued make-up credits. - Added credit ledger entries for make-up credits issued from program/class/event registrations. - If no member is linked, ClubOps logs that staff must add the credit manually. Version 1.8.9-global.8.17.1 - Admin menu cleanup patch. - Reordered ClubOps submenu into a predictable dashboard-first, alphabetical operations flow. - Kept Settings, Setup & Tools, and License grouped at the bottom where staff/admins expect them. - No database, billing, booking, program, or shortcode behavior changed. Version 1.8.9-global.8.17 - Added Program Refund/Credit Follow-Up Stage 1. - Paid cancelled registrations can now be resolved as refunded, credit issued, or make-up credit from the roster. - Session cancellation now opens a follow-up status for paid registrations marked refund due. - Roster stats now include refund/credit follow-up count. - Roster CSV export now includes follow-up status, date, and notes. - Activity log records refund/credit follow-up actions. Version 1.8.9-global.8.16 - Added Program Cancellation Stage 1 from the roster screen. - Staff can cancel a session, close public registration, cancel active/waitlist registrations, and optionally notify the roster by email. - Paid registrations are marked refund_due for staff follow-up instead of pretending a refund happened automatically. - Added activity log entries for session cancellations, registration cancellations, and cancellation emails. Version 1.8.9-global.8.15 - Added roster messaging for programs/events. - Staff can send one-time individual emails to registered attendees, waitlist members, attendance groups, or awaiting-payment registrations. - Added roster email tokens for brand, customer, program, status, attendance, and waitlist position. - Added activity log entries for roster email batches and per-registration delivery results. Version 1.8.9-global.8.14 - Added Program Waitlist Stage 1. - Confirmed/program capacity counts now exclude waitlist records so waitlist members do not consume seats. - Roster view now shows waitlist totals and waitlist positions. - Staff can promote waitlist registrations into a confirmed/payment-hold registration when space is available. - Paid waitlist promotions can create the WooCommerce pay-now order at promotion time. - Public program cards now show waitlist availability and waitlist counts. Version 1.8.9-global.8.13 - Added Program Roster & Attendance Stage 1. - Added roster view for each program/event from the Programs admin table. - Added attendance statuses for program registrations: Present, No-Show, Excused, and Not Marked. - Added quick attendance actions from Recent Registrations and roster view. - Added roster CSV export for staff/admin use. - Added attendance totals and activity log entries for roster/attendance actions. - Added schema refresh on version change so new attendance columns can be added during plugin updates. Version 1.8.9-global.8.12 - Added Membership Billing Processor setting with safe default: WooCommerce Pay-Now Notices. - 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 CR80-style wallet-card print CSS for scannable Code 128 membership cards. - Preserved v1.8.9-global.8.6.2 scannable member card and Access Check features. = 1.8.9-global.8.8 = * Replaced the visual-only member card barcode bars with a real Code 128-B barcode renderer. * Member card barcode now encodes the exact ClubOps member code so common scanners can type the code into Access Check / Check-In fields. * Added scanner-friendly quiet zone, readable height, and printed code fallback under the barcode. * Access Check fields already accept scanned member codes because scanners behave like keyboard input. = 1.8.9-global.8.8 = * Added My Member Card and Staff Access Check to Setup & Tools -> Create / Verify Pages. * Default page generator now creates/verifies pages for [hv_clubops_member_card] and [hv_clubops_access_check]. * Keeps the v1.8.9-global.8.6 Access Check / Digital Member Card layer intact. = 1.8.9-global.8.6 = * Added Digital Membership Card shortcode: [hv_clubops_member_card]. * Added Staff Access Check shortcode: [hv_clubops_access_check]. * 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. = 1.8.9-global.8.5 = * Added CSV Import Preview / Dry Run inside Setup & Tools. * 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. HV ClubOps Global v1.8.9-global.8 - Adds Stage 1 monthly membership billing ledger for Monthly Billing plans. - Creates monthly WooCommerce invoice orders and portal Pay Now buttons when bills are due. - Adds grace-period suspension/reactivation logic for unpaid monthly membership bills. - Hooks billing due notices into email and existing reminder/push pipeline. = 1.8.9-global.8 = - Added membership billing method: one-time, paid in full, or monthly billing. - Added commitment months and calculated checkout charges for paid-in-full monthly memberships. - Program registration membership upsells now use the same calculated membership charge as the membership chooser. - Plan CSV import/template supports billing_model and commitment_months while preserving older import files. 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. = 1.8.9-global.6 = - Added enforced account-first registration flow for programs/events. - Added inline portal account creation for non-logged-in program/event registration. - Added WooCommerce customer/user linking to program registration flow. - Added visitor/member/unlimited pricing logic for open play sessions. - Added membership upsell option inside program/event registration flow. - Added combined WooCommerce checkout support for membership + program registration. - Paid registrations now remain payment-hold until WooCommerce payment completes. - Free registrations/events still confirm immediately. - Improved frontend registration messaging so checkout is the clear next step. 1.8.9-global.6 - Removed hard-coded unlimited/free assumptions from program registration pricing. - Program/Event pricing now strictly uses configured non-member and member price fields. - Added optional Included With Eligible Unlimited Plan flag, default off. - Added non-member/member pricing fields to leagues and tournaments plus CSV import columns. 2.0.1 Gift Cards and Admin Menu Organization - Added internal ClubOps Gift Cards with issue, edit, reissue/change code, balance edit, manual redemption, adjustments, transaction history, WooCommerce purchase flow, gift card email delivery, public purchase shortcode, public balance checker shortcode, and staff redeem shortcode. - Added optional WooCommerce cart/checkout gift card application with redemption recorded when payment completes. - Cleaned ClubOps admin menu order: Dashboard remains first, operational pages sort alphabetically, and Settings / Setup & Tools / License stay at the bottom. ## 2.1.1 - Court Ops / Gift Cards Dashboard Integration - Added Court Ops and Gift Cards to dashboard launcher tile definitions and default visible tiles. - Added dashboard command-center metrics for paddle queue, court sessions, permanent reservations, gift card activity, and open gift card balance. - Added action-required rows for Court Queue No-Shows and Gift Card Activity Today. - Added Quick Actions for Court Ops and Gift Card issue/redeem workflows. - Added Launch Readiness rows for Court Ops resource/session setup and Gift Cards table/status. - Added dashboard stat cards for Court Sessions, Paddle Queue, Permanent Reservations, Active Gift Cards, and Gift Card Balance. - Added dashboard shortcode references for gift card and court operations shortcodes. ## 2.2.0 - Support Ticket System and Central Support Hub - Added client-side ClubOps Support Tickets module. - Added local support ticket tables and message history table. - Added Support Tickets admin page for facility installs. - Added ticket creation, local storage, status changes, assignment, replies, private notes, and retry hub sync. - Added default support email routing to growth@webvinemarketing.com. - Added optional remote push to central ClubOps Support Hub endpoint with site key and HMAC shared-secret signature. - Added REST callbacks so a central support hub can push replies and status updates back to the facility install. - Added [hv_clubops_support_ticket] shortcode. - Added Support Tickets to dashboard tiles, stats, quick actions, action required, launch readiness, and shortcode references. - Added separate ClubOps Support Hub parent plugin for Web Vine Studio site. - Parent hub receives client tickets, stores sites/tickets/messages, assigns tickets, answers tickets, closes tickets, emails replies, and pushes replies/status back to client installs when endpoint and secret are configured. ## 2.2.1 - Support Tickets Access Fix - Fixed Support Tickets admin menu registration. - Added dedicated hvco_manage_support_tickets capability. - Added capability assignment for administrator, ClubOps admin, and ClubOps manager roles. - Added manage_options fallback so a real site owner/admin cannot be blocked from the Support Tickets page. - Added runtime admin_init capability refresh for already-installed sites. - Updated dashboard tile capability handling so admins can access Support Tickets from tiles and menu. ## 2.2.2 - Support Desk UI + Client-Side Auto Routing - Reworked ClubOps > Support Tickets into a themed support desk instead of a raw routing settings screen. - Removed endpoint/site key/shared secret fields from the normal facility workflow. - Support now works by default through local ticket storage plus email routing to growth@webvinemarketing.com. - Advanced hub routing is now tucked behind an internal advanced panel for Web Vine support use only. - Added install reference/status display so support tickets can be matched to a facility install without asking the client to configure routing. - Added premium Support Desk layout, hero, stats, recent ticket cards, ticket history styling, and support status pills. - Preserved central hub routing for installs where Web Vine chooses to configure it. ## 2.2.3 - Automatic Support Routing - Removed all customer-facing routing setup fields from the normal support workflow. - ClubOps now generates the install support identity, site key, and shared secret automatically. - Email support routing to growth@webvinemarketing.com is enabled automatically. - Central hub sync is attempted automatically using generated credentials. - Parent Support Hub v1.0.2 can auto-register incoming ClubOps installs from the first ticket. - Replaced raw remote status labels like "not sent" with customer-safe labels such as Email Sent, Hub Synced, and Email Sent / Hub Pending. - Fixed Support Email status pill wrapping so long email addresses do not hang outside the card. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.3 WP UPLOAD FIX FILE: HV-CLUBOPS-v1.8.9-global.3-WP-UPLOAD-FIX.zip ============================================================ = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.0 FILE: HV-CLUBOPS-WP-SAFE-v1.8.9-global.0.zip ============================================================ ClubOps Global Changelog Version: 1.8.9-global.0 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: UNKNOWN MODULE: GENERAL UPDATE FILE: UPLOAD-THIS-hv-clubops-global7.1.zip ============================================================ ClubOps Global Changelog Version: 1.8.8-global.7.1 Release Type: License UI Hotfix / Full Plugin Build Changed - Removed the customer-facing License Server URL display from the ClubOps license activation screen. - Replaced it with clean user-facing copy: license verification is handled automatically by Web Vine Marketing. - Stopped saving the license API endpoint in customer-facing plugin options. - Kept the license endpoint internal to the plugin code. - Bumped plugin version to 1.8.8-global.7.1 for traceability. Preserved - All v1.8.8-global.7 functionality. - Facility Modes / Vertical Packs. - Gym / Fitness Facility Mode. - Starter resources, plans, and class templates. - Booking, memberships, waivers, check-ins, live board, email opt-in, PWA, reports, WooCommerce support, and license gating. - Full plugin assets and included files. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.0 (1) FILE: UPLOAD-THIS-hv-clubops-v1.8.9-global.0 (1).zip ============================================================ ClubOps Global Changelog Version: 1.8.9-global.0 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.0 FILE: UPLOAD-THIS-hv-clubops-v1.8.9-global.0.zip ============================================================ ClubOps Global Changelog Version: 1.8.9-global.0 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.2 FILE: UPLOAD-THIS-HV-CLUBOPS-v1.8.9-global.2.zip ============================================================ = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.3 FILE: UPLOAD-THIS-HV-CLUBOPS-v1.8.9-global.3.zip ============================================================ = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating. ============================================================
VERSION: 1.8.9 MODULE: GLOBAL.4 FILE: UPLOAD-THIS-HV-CLUBOPS-v1.8.9-global.4.zip ============================================================ 1.8.9-global.4 - Fixed public program/event listings so recurring imported schedules show on frontend shortcodes. - Added open_play to public program scope. - Recurring active schedules no longer disappear solely because the template start date is older than today. = 1.8.9-global.3 = * Added weekly recurring schedule support for Programs & Events. * Added weekly recurring schedule support for Leagues and Tournaments. * Added recurring fields to admin creation forms with default recurring OFF. * Added CSV recurring import columns for programs/events. * Added CSV recurring import for leagues/tournaments. * Added CSV template examples for recurring programs and recurring competitions. * Added generated future occurrence logic with missing-occurrence dedupe. * Added recurrence metadata columns to programs and competitions. * Keeps matches manual: recurring league/tournament dates do not auto-generate matches until staff chooses to generate matches. = 1.8.9-global.2 = - Improved PWA install handling for Android, desktop, iPhone, and iPad. - Added generated safe-zone maskable PNG icons so wide/rectangular logos do not get cropped by Android app icon masks. - Added iOS apple-touch-startup-image generation for common iPhone/iPad launch sizes. - Added optional splash background image setting. - Updated install shortcode to use the configured PWA App Name instead of hard-coded labels. - Improved splash/logo sizing in standalone mode. ClubOps Global Changelog Version: 1.8.9-global.2 Release Type: PWA Install / Splash Update Added - Device-aware PWA install logic for Android, iPhone/iPad, and desktop browsers. - Global browser install prompt capture using beforeinstallprompt when supported. - iPhone/iPad install guidance for Safari Share / 3-dot menu / Add to Home Screen flows. - Configurable PWA splash screen for standalone app launches. - New PWA settings for splash logo, background color, title, subtitle, and duration. - Improved manifest icon MIME detection for PNG, JPG, WebP, and SVG icon URLs. - App-mode document classes for standalone/fullscreen launches. Changed - [hv_clubops_pwa_install] now renders a richer install panel with device-specific instructions. - PWA branding keeps ClubOps as the install/app name while the facility can remain white-labeled elsewhere. - Existing reminder push controls remain available from the install panel. Preserved - All v1.8.8-global.7.1 license UI hotfix behavior. - Facility Modes / Gym-Fitness Mode. - Booking, memberships, waivers, check-ins, programs, competitions, live board, email opt-in, PWA, push reminders, reports, WooCommerce support, and license gating.