{"id":338854,"date":"2026-07-19T14:45:18","date_gmt":"2026-07-19T14:45:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/mirospa-manager\/"},"modified":"2026-08-01T10:45:10","modified_gmt":"2026-08-01T10:45:10","slug":"spavexa-manager","status":"publish","type":"plugin","link":"https:\/\/pt-ao.wordpress.org\/plugins\/spavexa-manager\/","author":23430658,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.2","stable_tag":"1.5.2","tested":"7.0.2","requires":"6.4","requires_php":"8.0","requires_plugins":null,"header_name":"SpaVexa Manager \u2013 Booking & Appointment Manager","header_author":"MiroSeo","header_description":"Online booking for spas, salons, and beauty clinics \u2014 appointment form, calendar, services, staff, and email confirmations.","assets_banners_color":"a1707f","last_updated":"2026-08-01 10:45:10","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/miroseo.com\/product\/spavexa-manager-pro\/","header_author_uri":"https:\/\/miroseo.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":205,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.16":{"tag":"1.3.16","author":"miroseo","date":"2026-07-19 14:44:53"},"1.3.17":{"tag":"1.3.17","author":"miroseo","date":"2026-07-19 18:26:29"},"1.3.20":{"tag":"1.3.20","author":"miroseo","date":"2026-07-21 09:51:26"},"1.3.36":{"tag":"1.3.36","author":"miroseo","date":"2026-07-31 19:50:30"},"1.5.2":{"tag":"1.5.2","author":"miroseo","date":"2026-08-01 10:45:10"}},"upgrade_notice":{"1.2.0":"<p>Rebranded to SpaVexa Manager. Install as a new plugin slug (spavexa-manager); deactivate any older free build first.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3613809,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3613809,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3613836,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3613836,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.16","1.3.17","1.3.20","1.3.36","1.5.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3630708,"resolution":"1","location":"assets","locale":"","width":1280,"height":960},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3630708,"resolution":"2","location":"assets","locale":"","width":1800,"height":1640},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3630708,"resolution":"3","location":"assets","locale":"","width":1280,"height":960},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3630708,"resolution":"4","location":"assets","locale":"","width":1280,"height":960},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3630708,"resolution":"5","location":"assets","locale":"","width":1280,"height":960}},"screenshots":{"1":"Command Center dashboard","2":"Online booking form","3":"Admin calendar","4":"Services management","5":"Upgrade comparison (Pro features)"}},"plugin_section":[],"plugin_tags":[276,8133,269,11523,11522],"plugin_category":[40],"plugin_contributors":[272329],"plugin_business_model":[],"class_list":["post-338854","plugin","type-plugin","status-publish","hentry","plugin_tags-appointment","plugin_tags-appointment-booking","plugin_tags-booking","plugin_tags-salon","plugin_tags-spa","plugin_category-calendar-and-events","plugin_contributors-miroseo","plugin_committers-miroseo"],"banners":{"banner":"https:\/\/ps.w.org\/spavexa-manager\/assets\/banner-772x250.png?rev=3613836","banner_2x":"https:\/\/ps.w.org\/spavexa-manager\/assets\/banner-1544x500.png?rev=3613836","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/spavexa-manager\/assets\/icon-128x128.png?rev=3613809","icon_2x":"https:\/\/ps.w.org\/spavexa-manager\/assets\/icon-256x256.png?rev=3613809","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/spavexa-manager\/assets\/screenshot-1.png?rev=3630708","caption":"Command Center dashboard"},{"src":"https:\/\/ps.w.org\/spavexa-manager\/assets\/screenshot-2.png?rev=3630708","caption":"Online booking form"},{"src":"https:\/\/ps.w.org\/spavexa-manager\/assets\/screenshot-3.png?rev=3630708","caption":"Admin calendar"},{"src":"https:\/\/ps.w.org\/spavexa-manager\/assets\/screenshot-4.png?rev=3630708","caption":"Services management"},{"src":"https:\/\/ps.w.org\/spavexa-manager\/assets\/screenshot-5.png?rev=3630708","caption":"Upgrade comparison (Pro features)"}],"raw_content":"<!--section=description-->\n<p><strong>SpaVexa Manager<\/strong> helps spas, salons, and beauty clinics accept appointments on WordPress \u2014 without a monthly SaaS subscription.<\/p>\n\n<h4>Free features<\/h4>\n\n<ul>\n<li>Multi-step online booking form<\/li>\n<li>Admin dashboard and booking calendar<\/li>\n<li>Unlimited services and staff<\/li>\n<li>Email booking confirmations (customer and admin)<\/li>\n<li>Automated email appointment reminders<\/li>\n<li>Win-back \/ rebooking email campaigns<\/li>\n<li>WhatsApp click-to-chat button<\/li>\n<li>Before\/after gallery and testimonials<\/li>\n<li>Opening hours, services list, and book button shortcodes<\/li>\n<li>Gutenberg blocks for booking and services<\/li>\n<li>Setup wizard for quick onboarding<\/li>\n<\/ul>\n\n<h4>Pro upgrade (optional)<\/h4>\n\n<p>Need deposits, packages, or reports? <a href=\"https:\/\/miroseo.com\/product\/spavexa-manager-pro\/\">SpaVexa Manager Pro<\/a> adds Stripe\/PayPal deposits, SMS &amp; WhatsApp Cloud API messaging, Google Calendar sync, packages, coupons, gift cards, PDF invoices, and more \u2014 with a <strong>one-time license<\/strong> (no monthly fees).<\/p>\n\n<h4>Shortcodes<\/h4>\n\n<ul>\n<li><code>[spavma_booking_form]<\/code> \u2014 booking form<\/li>\n<li><code>[spavma_book_button]<\/code> \u2014 call-to-action button<\/li>\n<li><code>[spavma_calendar]<\/code> \u2014 date picker<\/li>\n<li><code>[spavma_services]<\/code> \/ <code>[spavma_services_list]<\/code> \u2014 service showcase<\/li>\n<li><code>[spavma_staff]<\/code> \u2014 team grid<\/li>\n<li><code>[spavma_gallery]<\/code> \u2014 before\/after gallery<\/li>\n<li><code>[spavma_testimonials]<\/code> \u2014 client reviews<\/li>\n<li><code>[spavma_opening_hours]<\/code> \u2014 business hours<\/li>\n<li><code>[spavma_whatsapp_cta]<\/code> \u2014 WhatsApp button<\/li>\n<\/ul>\n\n<h4>Privacy<\/h4>\n\n<p>This plugin stores booking data in your WordPress database. It does not send customer data to external servers unless you configure optional integrations in <strong>SpaVexa Manager Pro<\/strong> (payments, SMS, etc.).<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install from the WordPress plugin directory.<\/li>\n<li>Activate <strong>SpaVexa Manager<\/strong> through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Complete the setup wizard under <strong>SpaVexa \u2192 Getting Started<\/strong>.<\/li>\n<li>Add <code>[spavma_booking_form]<\/code> to a page.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20really%20free%3F\"><h3>Is this really free?<\/h3><\/dt>\n<dd><p>Yes. The core booking system is free on WordPress.org. Pro features are sold separately as <a href=\"https:\/\/miroseo.com\/product\/spavexa-manager-pro\/\">SpaVexa Manager Pro<\/a>.<\/p><\/dd>\n<dt id=\"what%20is%20included%20in%20free%20vs%20pro%3F\"><h3>What is included in free vs Pro?<\/h3><\/dt>\n<dd><p>Free includes unlimited services and staff, the booking form, calendar, email confirmations, email reminders, rebooking campaigns, gallery, and testimonials. Pro adds deposits, packages, SMS\/WhatsApp API, reports, and other business tools.<\/p><\/dd>\n<dt id=\"does%20this%20require%20woocommerce%3F\"><h3>Does this require WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce is optional and available in the Pro version.<\/p><\/dd>\n<dt id=\"can%20i%20upgrade%20without%20losing%20bookings%3F\"><h3>Can I upgrade without losing bookings?<\/h3><\/dt>\n<dd><p>Yes. Deactivate the free plugin, install <strong>SpaVexa Manager Pro<\/strong>, and activate your license. Your existing services and bookings use the same data structure.<\/p><\/dd>\n<dt id=\"where%20can%20i%20get%20help%3F\"><h3>Where can I get help?<\/h3><\/dt>\n<dd><p>See <a href=\"https:\/\/miroseo.com\/spavexa-documentation\/\">SpaVexa documentation<\/a> or use the WordPress.org support forum.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Fix glow\/shadow effects (active step, selected time slot, selected calendar day, focused inputs, buttons) staying the default maroon color regardless of the chosen Primary color \u2014 they used hardcoded rgba(139,90,107,X) instead of following the theme<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Fix calendar day colors looking mismatched on hover \u2014 hovering the already-selected date was overriding its gradient\/solid color with the plain hover color due to a CSS specificity conflict<\/li>\n<li>Add a \"Book with [Name]\" button to each Our Team staff card \u2014 previously staff cards had no click action at all; clicking now pre-selects that staff member on the booking form<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Add a \"Color Style\" option under Settings \u2192 Appearance: Gradient (Primary \u2192 Accent, default) or Solid (Primary color only) \u2014 affects buttons, step indicators, and everywhere the brand color is used<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Fix price text, active step labels, and a few buttons still using the hardcoded default colors after the 1.4.0 color fix \u2014 the \"-dark\" variants of primary\/accent weren't being derived from the admin's chosen colors, only the base colors were<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Increase weight\/line-height of the booking form subtitle text \u2014 it was too thin\/light to read comfortably<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Fix Appearance colors (Primary\/Secondary\/Accent) never actually applying to the booking form or shortcodes \u2014 a long-standing bug where hardcoded default colors in the stylesheet always outranked the admin's chosen colors, regardless of what was picked in Settings<\/li>\n<li>Replace the plain date field on the booking form with a proper visual calendar (month grid with prev\/next navigation) instead of the browser's native date input<\/li>\n<li>Remove the \"Default package image shape\/fit\" settings from the free build's Appearance tab \u2014 Packages is a Pro-only feature, so these had no effect<\/li>\n<\/ul>\n\n<h4>1.3.36<\/h4>\n\n<ul>\n<li>Fix each service appearing twice in the Setup Wizard's \"Add your team\" service picker (and anywhere else Services::get_all() is used) \u2014 an OR\/NOT-EXISTS meta_query was causing WP_Query to double-join wp_postmeta and return duplicate rows<\/li>\n<\/ul>\n\n<h4>1.3.35<\/h4>\n\n<ul>\n<li>Update the Upgrade page comparison table: add Google Meet links, booking form themes\/layouts, Custom CSS editor, and correct the Waitlist\/Recurring descriptions to match what Pro actually ships now<\/li>\n<\/ul>\n\n<h4>1.3.34<\/h4>\n\n<ul>\n<li>Move the Book Appointment theme presets, layout picker (Card\/Minimal\/Split), and Custom CSS field to SpaVexa Manager Pro \u2014 the free build's Appearance tab is back to the original 3-color picker<\/li>\n<\/ul>\n\n<h4>1.3.33<\/h4>\n\n<ul>\n<li>Add a Custom CSS field under Settings \u2192 Appearance \u2014 loads after the plugin's own styles so it can override any color, spacing, or layout choice without editing files<\/li>\n<\/ul>\n\n<h4>1.3.32<\/h4>\n\n<ul>\n<li>Fix step-number digits sitting outside their circle badges in the Split layout \u2014 the left-aligned step label text was inheriting into the circle, pushing the digit to the left edge instead of centering it. Verified live.<\/li>\n<\/ul>\n\n<h4>1.3.31<\/h4>\n\n<ul>\n<li>Fix the Split Book Appointment layout: the sidebar branding panel stopped short of the form fields below it instead of spanning the full height. Switched to named grid-template-areas.<\/li>\n<\/ul>\n\n<h4>1.3.30<\/h4>\n\n<ul>\n<li>Add 3 Book Appointment layouts (Card, Minimal, Split) selectable under Settings \u2192 Appearance, with a \"Preview Live Book Appointment Page\" link; the [spavma_booking_form] shortcode can still override with style=\"card|minimal|split\"<\/li>\n<\/ul>\n\n<h4>1.3.29<\/h4>\n\n<ul>\n<li>Add 6 ready-made color theme presets and a live preview card to the Appearance settings tab, so the booking form's look can be previewed and picked without guessing at hex codes<\/li>\n<\/ul>\n\n<h4>1.3.28<\/h4>\n\n<ul>\n<li>Add missing Pro features to the Upgrade page comparison table: built-in SMTP mail delivery, delivery log, customer CRM, and WooCommerce checkout \u2014 the list had fallen behind what Pro actually ships<\/li>\n<\/ul>\n\n<h4>1.3.27<\/h4>\n\n<ul>\n<li>Richer admin page header (hero banner) styling: deeper multi-tone gradient, subtle dot-pattern texture, layered glow, and refined title\/badge\/button polish for a more premium look<\/li>\n<\/ul>\n\n<h4>1.3.26<\/h4>\n\n<ul>\n<li>Match the Getting Started checklist's step buttons (e.g. \"Open Setup Wizard\") to the plugin's brand color instead of default WordPress blue<\/li>\n<\/ul>\n\n<h4>1.3.25<\/h4>\n\n<ul>\n<li>Add \"Send Test Email\" button under Settings \u2192 Notifications, and an automatic admin notice when a booking email fails to send \u2014 hosts commonly block or spam-flag PHP's default mail sending, so this surfaces delivery problems before customers are affected<\/li>\n<\/ul>\n\n<h4>1.3.24<\/h4>\n\n<ul>\n<li>Remove \"Pro feature\" upsell wording from the customer-facing manage-appointment page \u2014 that message is for site admins, not the business owner's own customers<\/li>\n<li>Add a \"View Booking in Dashboard\" button to the admin new-booking notification email, linking straight to the Bookings page<\/li>\n<\/ul>\n\n<h4>1.3.23<\/h4>\n\n<ul>\n<li>Add visible field labels to the Setup Wizard's \"Add your services\" row \u2014 the Duration field pre-fills with \"60\" but its placeholder (which would have explained the unit) never showed since browsers hide placeholder text once a value is set, leaving a bare unexplained number<\/li>\n<\/ul>\n\n<h4>1.3.22<\/h4>\n\n<ul>\n<li>Fix \"Manage your appointment\" link in emails going nowhere on the free build \u2014 added a read-only appointment status page (reschedule\/cancel from this link remains a Pro feature; the free build now shows the booking instead of a dead link)<\/li>\n<li>Redesign email template: \"Label: value\" lines (Service, Staff, Date, Price, etc.) now render as a clean receipt-style block instead of plain text, links (like the manage-appointment link) stay real clickable links, and a footer with the business name was added<\/li>\n<\/ul>\n\n<h4>1.3.21<\/h4>\n\n<ul>\n<li>Fix booking form still showing the Continue button and steps after a successful submission \u2014 now shows only the \"Booking request sent\" confirmation<\/li>\n<li>Fix admin\/customer email header text showing default blue\/underlined link styling in Gmail when the business name looks like a domain (Gmail auto-linkifies plain text) \u2014 header is now an explicit white, non-underlined link<\/li>\n<\/ul>\n\n<h4>1.3.19<\/h4>\n\n<ul>\n<li>Add full Arabic (ar) translation covering the admin dashboard and public booking UI<\/li>\n<\/ul>\n\n<h4>1.3.18<\/h4>\n\n<ul>\n<li>Add RTL layout support across the public booking UI and admin dashboard (badges, tables, corner ribbons, notices, calendar navigation, setup wizard, comparison table)<\/li>\n<\/ul>\n\n<h4>1.3.17<\/h4>\n\n<ul>\n<li>Update plugin display name and short description for clearer, more search-friendly branding (URL\/slug unchanged)<\/li>\n<li>Refine readme.txt tags for discoverability<\/li>\n<\/ul>\n\n<h4>1.3.16<\/h4>\n\n<ul>\n<li>Move the Popular badge to a floating corner ribbon on the card instead of sitting next to the title text<\/li>\n<\/ul>\n\n<h4>1.3.15<\/h4>\n\n<ul>\n<li>Move the Popular badge inline next to the service title instead of on its own line, so titles line up across cards whether or not a service is marked Popular<\/li>\n<\/ul>\n\n<h4>1.3.14<\/h4>\n\n<ul>\n<li>Pin the Book Now button to the bottom of every service\/package card so buttons stay aligned across a row regardless of whether the Popular badge or a description is present<\/li>\n<\/ul>\n\n<h4>1.3.13<\/h4>\n\n<ul>\n<li>Force full-width Book Now buttons on service\/package cards (align-self:stretch alone could be overridden by theme CSS, making the button narrower on cards with the Popular badge)<\/li>\n<\/ul>\n\n<h4>1.3.12<\/h4>\n\n<ul>\n<li>Fix duplicate block entries in the inserter (blocks were registered under 4 names each)<\/li>\n<li>Fix missing front-end CSS\/JS on pages built with blocks (asset loader only recognized shortcodes and the legacy Pro block name)<\/li>\n<li>Prefix REST rest_base for bookings\/customers post types (spavma-bookings, spavma-customers)<\/li>\n<li>Restrict booking\/customer post types to the plugin's own capability, and remove them from the default REST controller (they carry customer PII)<\/li>\n<li>Prefix remaining script\/style handles and block.json namespaces (spavma-*)<\/li>\n<li>Remove split-string obfuscation of a legacy option prefix in uninstall.php<\/li>\n<\/ul>\n\n<h4>1.3.11<\/h4>\n\n<ul>\n<li>Prefix Gutenberg editor JavaScript data as spavmaBlocksEditor<\/li>\n<li>Reject any non-spavma wp_localize_script object during the free build<\/li>\n<\/ul>\n\n<h4>1.3.10<\/h4>\n\n<ul>\n<li>Add nonces to testimonial\/gallery admin-post handlers (CSRF)<\/li>\n<li>Document spavma_* shortcodes in readme (match registered tags)<\/li>\n<li>Sanitize booking custom_fields before save<\/li>\n<\/ul>\n\n<h4>1.3.9<\/h4>\n\n<ul>\n<li>Keep uninstall legacy cleanup inside the prefixed function (Plugin Check globals)<\/li>\n<\/ul>\n\n<h4>1.3.8<\/h4>\n\n<ul>\n<li>Remove function_exists() around own uninstall helper (WordPress.org guideline)<\/li>\n<\/ul>\n\n<h4>1.3.7<\/h4>\n\n<ul>\n<li>Rename remaining spavma_ post types, meta, caps, and CSS to spavma_ (WordPress.org 4+ char prefix)<\/li>\n<\/ul>\n\n<h4>1.3.6<\/h4>\n\n<ul>\n<li>Fix fatal error: use global WP_Block_Type_Registry inside Spavma namespace<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Fix duplicate Gutenberg block registration (spavma\/* already registered notice)<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Remove legacy brand strings from the free WordPress.org package<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Unify all PHP identifiers under the spavma_ prefix (WordPress.org prefix review)<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Prefix uninstall callback as spavexa_manager_uninstall (Plugin Check)<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Rename free helper functions and PHP namespace to SpaVexaManager \/ spavexa_manager_ (WordPress.org prefix review)<\/li>\n<li>Register spavexa_* shortcodes (legacy spavma_* tags still work)<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Prefix slot cache transients as spavexa_manager_slots_ (WordPress.org naming)<\/li>\n<\/ul>\n\n<h4>1.2.9<\/h4>\n\n<ul>\n<li>Fix block.json UTF-8 BOM so Plugin Check can read apiVersion 3<\/li>\n<\/ul>\n\n<h4>1.2.8<\/h4>\n\n<ul>\n<li>Fix admin Calendar not rendering after ID rename<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Add Business Hours settings (controls Available Times on the booking form)<\/li>\n<li>Show loading state while Available Times load<\/li>\n<li>Add Advanced \u2192 Reset Everything (factory reset + setup wizard)<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Register legacy Gutenberg block names so older pages (spavexa-manager-pro\/*) still work in the editor<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Fix New Booking: opens Quick Add Booking instead of the setup wizard<\/li>\n<li>Create Pages from Getting Started is one-click (no wizard step 6)<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Hide Pro-only settings UI that had no free implementation (SMS, waitlist, deposits, demo)<\/li>\n<li>Ship email reminder template with the free build<\/li>\n<li>Clarify free vs Pro FAQ (email reminders are free)<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Show the Reminders settings tab in the free build (email reminders UI)<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Unlock email reminders and rebooking for the free build (Guideline 5)<\/li>\n<li>Longer plugin prefixes (spavexa_manager \/ SPAVMA_*) for WordPress.org compliance<\/li>\n<li>Harden register_setting sanitization and package-balances REST permissions<\/li>\n<li>Remove free-version package marker<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Point product and documentation links to SpaVexa store URLs<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Rebrand to SpaVexa Manager (slug spavexa-manager)<\/li>\n<li>Remove service\/staff quantity caps (Guideline 5 \/ trialware)<\/li>\n<li>Enqueue admin notice CSS\/JS via wp_enqueue (no raw inline tags)<\/li>\n<li>Public staff REST returns display fields only (no email\/phone\/commission)<\/li>\n<li>Uninstall deletes an explicit option whitelist only<\/li>\n<li>Keep build tooling out of the WordPress.org zip<\/li>\n<\/ul>\n\n<h4>1.1.7<\/h4>\n\n<ul>\n<li>Compliance hardening for WordPress.org review<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Gutenberg category pinned in the inserter<\/li>\n<li>Block titles\/descriptions always registered in PHP for reliable discovery<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Fix blocks missing from inserter \u2014 load editor script + category<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Fix Gutenberg blocks not appearing in the inserter (PHP registration)<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fix Gutenberg blocks category registration<\/li>\n<li>Fix invalid block.json encoding that caused JSON decode notices<\/li>\n<li>Inherit theme font on public booking UI<\/li>\n<li>Show admin notice when WhatsApp CTA has no number configured<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Stop auto-creating a Packages page on free (Pro-only shortcode)<\/li>\n<li>Auto-remove empty Packages stub pages left from older free installs<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Clean Gutenberg markup from testimonials<\/li>\n<li>Guard invoice helpers when Pro classes are absent<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix fatal error on plugin deactivation (License class guard)<\/li>\n<li>Fix booking flow when Pro-only classes are not loaded<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org release<\/li>\n<li>Online booking form and admin calendar<\/li>\n<li>Unlimited services and staff<\/li>\n<li>Email confirmations, gallery, testimonials, WhatsApp button<\/li>\n<li>Setup wizard and Gutenberg blocks<\/li>\n<\/ul>","raw_excerpt":"Booking &amp; appointment scheduling for spas, salons, and beauty clinics \u2014 booking form, calendar, staff, and email confirmations.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/338854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=338854"}],"author":[{"embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/miroseo"}],"wp:attachment":[{"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=338854"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=338854"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=338854"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=338854"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=338854"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=338854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}