=== Yatoon Salon Booking - Square & Vagaro Sync ===
Contributors: yatoon, freemius
Tags: booking, appointments, salon, spa, square
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 4.5.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Mobile-first salon booking with Square sync, payments, deposits, staff tools, customer self-service, reminders, and growth features.

== Description ==

**The WordPress booking system built for salons that already run on Square.** Yatoon has powered day-to-day bookings at a working nail salon for more than a year, connecting a branded customer journey with real salon operations.

**[Try the live booking demo](https://yatoon.com/bookingdemo/)** - no account or installation required.

= Built for real salon visits =

* Mobile-first booking for services, options, staff, date, time, customer details, payment, and confirmation
* Multiple services and guests in one checkout, with separate staff and reference photos
* Qualified-staff filtering, Any Staff assignment, hours, breaks, closed dates, resources, and final conflict checks
* Square Appointments and POS workflows, Square online payments, deposits, and operational health diagnostics
* Customer self-service for rescheduling, changing services, cancelling, rebooking, and adding appointments to a calendar
* Mobile Staff Portal with schedules, appointment details, customer context, photos, status tools, and checkout actions
* Waitlist, recurring appointments, packages, memberships, loyalty, gift cards, coupons, broadcasts, and review requests
* Multi-location, inventory, commissions, reports, automations, Google Calendar, SMS, and Vagaro workflows
* Staff-by-location/service schedules and pricing, capacity-based group classes, direct provider refunds, and authenticated REST integrations
* Optional feature modules so smaller sites can keep only the operational surfaces they use
* Responsive WordPress administration, Gutenberg blocks, Elementor widgets, privacy tools, and 22 included locale catalogs

= Square reliability and recovery =

Yatoon verifies availability again before sensitive booking changes are saved. The Operations health center shows recent sync activity, webhook status, stale-sync warnings, failed background jobs, retry controls, migration status, upgrade snapshots, rollback tools, and a privacy-safe technical summary for support.

= Add Yatoon anywhere =

* `[yatoon_booking]` - complete booking form
* `[yatoon_service_menu]` - visual service menu with Book buttons
* `[yatoon_customer_portal]` - customer self-service portal
* `[yatoon_staff_portal]` - mobile staff schedule portal
* `[yatoon_growth_storefront]` - package and membership storefront
* `[yatoon_group_appointments]` - capacity-based Local-mode classes and independent attendee reservations

Every major shortcode is also available as a native Gutenberg block and Elementor widget.

== Installation ==

1. Install and activate Yatoon Salon Booking.
2. Complete **Yatoon Booking > Setup Wizard**.
3. Configure services, variations, staff qualifications, schedules, business hours, breaks, and closed dates.
4. Connect Square or another required integration and review the Operations health screen.
5. Add the Yatoon Booking block, Elementor widget, or `[yatoon_booking]` shortcode to a public page.
6. Exclude booking and portal pages from full-page caching and delayed JavaScript optimization.
7. Complete a test booking, payment, Square sync, customer-management change, and staff workflow before launch.

== Screenshots ==

1. Mobile-first booking with a clear five-step flow, service choices, and persistent cart.
2. Service variations, upgrades, options, and recommended add-ons.
3. Multi-service group appointments for a client and guests in one visit.
4. Qualified staff selection with Any Staff and preferred-team choices.
5. Recommended openings plus fast week, month, and time selection.
6. Per-service reference photo uploads with a visible Uploaded confirmation.
7. Complete confirmation receipt with guests, services, times, prices, directions, and calendar actions.
8. Service catalog controls for categories, pricing, status, and upload rules.
9. Brand controls for logos, colors, typography, buttons, and live previews.
10. Mobile Staff Portal with a practical day calendar.
11. Customer self-service for reviewing, rescheduling, changing, or cancelling safely.
12. Safe service changes with duration checks and qualified available staff.

== Frequently Asked Questions ==

= What makes Yatoon different from a generic appointment plugin? =

Yatoon focuses on salon workflows: multi-service visits, group bookings, service variations, custom-design photos, qualified technicians, Any Staff assignment, shared resources, customer changes, and Square-powered operations.

= What does the Square integration cover? =

Yatoon Pro supports Square Appointments and POS workflows plus Square online payment and deposit options. Exact behavior depends on correct Square location, service, variation, team-member, and permission mappings.

= How does Yatoon protect against schedule conflicts? =

It checks staff qualification, working hours, breaks, closed dates, existing appointments, shared resources, and external availability where applicable. A final server-side check runs immediately before the change is saved.

= Can one booking contain several services or guests? =

Yes. Each guest can have separate services, staff assignments, timing, and reference photos while remaining part of one booking journey.

= Can customers and staff manage appointments from a phone? =

Yes. The Customer Portal provides secure self-service and the installable Staff Portal is designed for mobile daily operations.

= Does it support deposits and online payments? =

Yes. Configure the payment method and deposit rules required by your business, then test the full payment and refund workflow in the provider's test environment before going live.

= Is Yatoon multilingual? =

Yes. Yatoon is translation-ready and includes PO/MO catalogs for 22 locales, including Spanish for Spain, Mexico, and Argentina. Business-owned service names, descriptions, policies, and custom labels remain editable by the site owner.

= Where can I get help? =

Downloads, licensing, updates, and priority support are available through [Yatoon.com](https://yatoon.com/). Copy the privacy-safe technical summary from Operations when reporting an integration problem.

== Changelog ==

= 4.5.0 =
* Added public throttling and generic failure responses for gift-card/coupon validation, plus a 60-request-per-minute availability budget.
* Added explicit local and UTC creation timestamps for appointments so optional Pro background jobs never depend on the MySQL server timezone.
* Added safe cleanup of optional WooCommerce background jobs when switching from Pro to Free.
* Pro adds optional WooCommerce checkout, signed webhooks for Zapier/Make/n8n, Zoom meetings and Google Meet.
* Added an Integrations settings entry with a clear Pro upgrade gate; integrations remain off by default.
* Includes all search, staff assignment, payment, WhatsApp and reliability improvements prepared for the previous release candidate.

= 4.4.5 =
* Expanded topbar search into a complete catalog of Yatoon pages, hidden tools, settings tabs, settings sections, runtime menus, and English/Chinese aliases with relevance ranking.
* Added editable Staff Priority to employee profiles; smaller numbers appear first and new employees default to the end of the list.
* Pro adds PayPal Checkout and restores Stripe deposit checkout; payment gateways remain a Pro feature.
* Pro adds Meta WhatsApp Cloud API transactional notifications through approved templates.
* Removed an unreferenced JavaScript build artifact and added release/package validation guidance.
* Added a visible single-writer database deployment warning to Platform settings.
* Expanded the admin topbar search with feature keywords and English/Chinese aliases while keeping Pro-only results hidden.
* Added direct topbar search results for Complete Backup & Restore, including backup, restore, migration, snapshot, 备份, and 恢复 keywords.
* Hardened admin diagnostics: raw booking and Square inspection endpoints now require WP_DEBUG or YATOON_ENABLE_ADMIN_DIAGNOSTICS, reject invalid dates/service IDs, and HTML-escape database/API output.
* Enlarged the Add guests and services remove control to a clear 42px circular target and added direct Remove beside Edit on Step 4; confirmation now refreshes the group review only after the service is actually deleted.
* Added an accessible one-click Remove action beside Edit in the appointment summary; it clears the selected service and dependent options, staff and time without leaving stale totals.
* Expanded the Customer Account Center with editable profile preferences, balance payment links, signed invoice downloads, package and membership history, and atomic loyalty reward redemption.
* Added a recommended admin settings view that keeps common store controls visible while placing developer credentials and synchronization internals behind an accessible Advanced toggle.
* Rebuilt the Step 4 appointment summary as calm, responsive person/service cards with readable staff selection and accessible edit, remove and reorder controls.
* Removed technical timing offsets and competing green treatments from the customer flow; booking typography is now isolated from theme heading styles.
* Upgraded Customer Wallet from a placeholder to verified account data for gift cards, packages, memberships, loyalty points, balance due and payment history.
* Extended Brand & Colors live preview to include page, card, border and primary-action styling before saving.
* Added a real-salon case study, public trust checklist, three short video storyboards, desktop/mobile regression matrix and automated release-contract checks.
* Preserved the group-booking return flow introduced in 4.4.4 and retained all established booking, staff and admin workflows.

For the complete version history, see `changelog.txt` included with the plugin.
