PricingFree downloadThe WordPress.org download is free. Pro versions, add-ons or external services may cost extra.
CompatibilityRequires WordPress 5.8 and PHP 7.4.
SourceWordPress plugins · Oct 17, 2026
01 / Source details
About this tool.
Run your salon’s bookings, schedules, payments, and customer relationships from WordPress.
Yatoon gives salons a polished booking experience for clients and a practical local booking toolkit for the team. Clients choose services, add-ons, professionals, dates, and times on mobile; staff manage the day from WordPress.
Try the live booking demo – no account or installation required.
Watch the complete mobile booking demo:
Built for nail salons, hair salons, barbershops, spas, beauty studios, and other appointment-based businesses. Yatoon has also been used for daily bookings at a real nail salon for more than a year.
Local-first workflow: Free keeps scheduling, availability, customer records, and bookings inside WordPress. External payment, calendar, messaging, and platform connections are Pro features.
What Free includes
Local WordPress scheduling, availability checks, customer records, notifications, and booking management
Mobile booking for services, options, professionals, dates, times, customer details, and confirmation
Customer self-service for reviewing, rescheduling, cancelling, and rebooking appointments
Staff calendar workflows with mobile rescheduling, temporary breaks, shared-resource checks, and capability-based Yatoon roles
Waitlist, service menu, customer portal, staff portal, booking blocks, Elementor, and shortcode integrations
Customer-facing AI Chat when WordPress AI Client and a provider are connected and Chat is enabled by an administrator
Third-party integrations are optional and require their own accounts, credentials, supported regions, and provider terms. Local mode continues to work inside WordPress when an external provider is unavailable.
What customers experience
A mobile booking flow for services, variations, add-ons, professionals, date, time, customer details, and confirmation
Several services or guests in one booking journey, with separate staff choices and reference photos where enabled
Clear service durations, prices, appointment summaries, directions, and calendar actions
Before a booking or sensitive change is saved, Yatoon rechecks staff qualification, schedules, breaks, closed dates, existing appointments, shared resources, and relevant external availability. If a time is taken during checkout, the customer keeps their details and gets a clear recovery path.
Add it to any WordPress page
Use the native block, Elementor widget, or one of these shortcodes:
[yatoon_booking] – complete booking form
[yatoon_service_menu] – visual service menu with Book buttons
[yatoon_staff_portal] – mobile staff schedule portal
[yatoon_discovery] – discovery storefront and booking entry points
External Services and Privacy
Google Maps – www.google.com/maps . The confirmation page displays a lazy-loaded map when a business address is configured. The preview sends the public business address and normal browser connection information to Google; it does not include customer names, email, appointment details, or manage tokens. Clicking the map opens Google Maps directions to that address. See Google Privacy and Google Terms .
Free Local mode performs booking and availability inside WordPress and does not require Square, Vagaro, Stripe, PayPal, Twilio, Google Calendar, Microsoft Outlook, or Meta WhatsApp.
Optional external services are described below. They are used only by their configured features; third-party sign-in additionally requires the user to choose the relevant sign-in button. Local booking does not require third-party sign-in.
Google sign-in – accounts.google.com , oauth2.googleapis.com , openidconnect.googleapis.com . Available in Free and Pro, disabled by default. After an administrator configures and enables it, a customer or eligible staff member can choose Google sign-in. The browser sends the configured OAuth client ID, callback URL, requested identity scopes, and random state/nonce to Google. The server exchanges the authorization code using the configured client credentials and requests the approved identity profile. Google returns an account identifier, verified email, and name/profile image URL when available; Yatoon uses this identity to link the local account. Appointment details are not sent for sign-in. See Google Privacy and Google Terms .
Sign in with Apple – appleid.apple.com . Available in Free and Pro for customers, disabled by default. After an administrator configures and enables it, a customer can choose Apple sign-in. The browser sends the Services ID, callback URL, requested name/email scopes, and random state/nonce. The server exchanges the authorization code with a signed client credential and fetches Apple’s public verification keys. Apple returns an account identifier and, when approved and available, name/email; the email can be an Apple private relay address. Yatoon links this identity to the local account. Appointment details are not sent for sign-in. See Apple Privacy and Apple Developer Terms .
Facebook sign-in – www.facebook.com , graph.facebook.com . Available in Free and Pro for customers, disabled by default. After an administrator configures and enables it, a customer can choose Facebook sign-in. The browser sends the configured App ID, callback URL, requested public-profile/email scopes, and random state. The server exchanges the authorization code using the configured app credentials, then requests the approved profile with the access token. Meta returns the account identifier, name, and email when available; Yatoon links this identity to the local account. Appointment details are not sent for sign-in. See Meta Privacy and Meta Platform Terms .
Fonts. Yatoon does not download fonts from any remote host, and does not bundle font files either. Choosing a font family under Brand & Colors only adds that family name to the CSS font stack; otherwise the system font is used.
Yatoon push relay (Cloudflare Worker) – https://yatoon-api.yatoon.workers.dev . Optional and disabled by default. When explicitly enabled, Yatoon sends a signed, pseudonymous browser push subscription endpoint and a generic event type to this Cloudflare Worker. Customer names, contact details, services, appointment times, and notes are never sent. See Yatoon and the Cloudflare Privacy Policy .
Freemius – https://api.freemius.com . Used for optional account connection, licensing, plugin updates, and upgrade screens. It is contacted only when an administrator opts in or uses one of those features. See Freemius Privacy Policy and Freemius Terms .
Provider integrations. Each service below is contacted only when an administrator has configured its credentials and switched the corresponding feature on, and only while performing the action that needs it. Provider credentials are stored encrypted in WordPress; Yatoon diagnostics must not include them.
Free package providers. Free can use the following optional services when the site owner enables them:
Google Maps – www.google.com/maps (confirmation-page directions map)
OpenAI – api.openai.com (optional AI assistant). Privacy – Terms
Anthropic – api.anthropic.com (optional AI assistant). Privacy – Terms
Google Gemini – generativelanguage.googleapis.com (optional AI assistant). Privacy – Terms
Before any customer text can reach an AI provider, an administrator must enable the relevant AI feature, and Yatoon requires explicit one-time customer consent and screens the message for sensitive data. Customer-facing AI is off by default on new installations, and connecting a provider alone does not publish it.
Site owners are responsible for obtaining required consent, publishing an accurate privacy notice, configuring retention, and complying with the rules of their region and chosen providers.
02 / Source details
Getting started.
01Install and activate Yatoon Salon Booking & Appointments .
03Add your services, prices, durations, staff, schedules, business hours, breaks, and closed dates.
04Connect only the payment, calendar, messaging, or platform integrations your workflow needs.
05Add the booking block, Elementor widget, builder element, or [yatoon_booking] shortcode to a public page.
06Run a test booking, customer self-service, and staff workflow before launch.
07Exclude booking and portal pages from full-page caching and delayed JavaScript optimization.
Open Settings > Features & setup > Help & demo for the built-in quick start, demo, and troubleshooting guide. The package also includes docs/quick-start.md , docs/validation.md , and reproducible focused test instructions in tests/README.md .
03 / Source details
Frequently asked questions.
What does Pro add?
Pro adds unlimited staff, two-way Square Appointments synchronization, one-way Vagaro import with booking creation, online payments and deposits, no-show tracking, SMS and calendar integrations, advanced customer self-service, growth tools, multi-location operations, and priority support.
Does Yatoon require Square?
No. Yatoon Free runs in Local mode inside WordPress. Square, Vagaro, Stripe, PayPal, Twilio, Google Calendar, and Outlook Calendar are optional integrations.
How does AI Chat connect, and how fast is it?
AI Chat uses the WordPress AI Client and the provider connections configured by the site owner. It does not use a separate AI Relay or expose provider credentials in the browser. The chat keeps the complete provider response and shows a clear sending state; it does not use fake character-by-character playback. The current public WordPress AI Client returns a complete text result rather than exposing a stable token-stream API to plugins, so this release does not claim token-by-token streaming.
Are AI features enabled automatically?
No. New installations keep Chat Concierge, the booking-form Style Assistant, natural-language rescheduling, and reply drafts off until an administrator enables each feature. Connecting a provider or entering an API key does not publish an AI widget by itself. Existing sites keep their saved settings when updating.
What does the Square integration cover?
Yatoon Pro supports two-way Square Appointments synchronization – creating, updating, and cancelling Square bookings and receiving Square webhooks – plus Square online payment, deposit, and refund options. Point of sale is limited to recording that an appointment was paid in Square POS or Tap to Pay so it settles correctly in Yatoon’s own reports and invoices; Yatoon does not replace the Square point-of-sale application.
What exactly does the Vagaro integration do?
It reads services, staff, and availability from Vagaro and creates new appointments in Vagaro when a customer books. It is an import plus booking creation, not two-way synchronization: Yatoon does not push Vagaro reschedules or cancellations, receive Vagaro webhooks, or run a scheduled re-pull.
Can customers book more than one service or guest?
Yes. Each guest can have separate services, staff assignments, timing, and reference photos while remaining part of one booking journey.
Does Pro support deposits and online payments?
Yes. Configure the provider and deposit rules required by your business, then test the complete payment and refund workflow in the provider’s test environment before going live.
Does the no-show rule charge the customer automatically?
It requires a deposit; it does not take money on its own. Once a customer reaches your threshold, their next booking is treated as a deposit booking and checkout asks for the deposit amount configured under Payments, through the gateway configured there. If no deposit gateway is set up, the rule can only flag the customer.
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 customers and staff manage appointments from a phone?
Yes. Customers can use the lightweight booking app and Customer Portal, while the Staff Portal is designed for mobile daily operations.
What database hosting does conflict protection require?
Booking writes require MySQL/MariaDB connection-scoped advisory locks ( GET_LOCK ). Lock acquisition, availability checks, booking writes, and lock release must use the same primary database connection and server. A connection pool, multiplexing proxy, read/write router, or multi-writer cluster must preserve that connection and server for the whole operation. Open Tools > Site Health to check advisory-lock support; that probe does not certify every proxy or cluster routing configuration. If required locks cannot be acquired, Yatoon refuses the booking write and returns a retry/error message rather than saving an unprotected appointment. Ask the host to confirm connection pinning and run concurrent booking checks on a disposable site before launch.
Does Yatoon work with page builders?
Yes. Major booking surfaces are available through Gutenberg blocks, Elementor widgets, shortcodes, and adapters for Bricks, Beaver Builder, Divi, and Brizy.
Is Yatoon multilingual?
Yatoon includes complete bundled translations for Simplified Chinese, Traditional Chinese (Hong Kong and Taiwan), Spanish (Spain and Mexico), and Vietnamese. The catalogs cover every plugin message; product names and technical terms remain in their original form where appropriate. Translation coverage is listed in languages/translation-coverage.json . Site owners can edit their own service names, descriptions, policies, and labels.
Where can I get help?
Downloads, licensing, updates, and priority support are available through Yatoon.com . Copy the privacy-safe technical summary from Operations when reporting an integration problem.