=== Yatoon Booking System ===
Contributors: yatoon
Tags: booking, appointments, salon, nail salon, scheduling, calendar, square, gallery
Requires at least: 5.8
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 2.1.0
License: GPLv2 or later

Mobile-friendly appointment booking for salons, spas, and nail studios. Photo gallery, custom fields, tip, recurring, reviews, and Square sync in Pro.

== Description ==

**Yatoon Booking System** is a conversion-focused appointment booking plugin built specifically for salons, spas, and nail studios. Unlike generic booking plugins, Yatoon includes a service photo gallery, customer ratings, recurring appointments, and Square/Vagaro sync — features your competitors don't have.

= Free Features =

**Booking Flow**
* Multi-step booking with animated progress bar and real-time availability
* Unlimited services with flexible pricing, duration, and options
* Up to 2 staff members with profile photos, rating stars, Popular/Experienced badges
* Closed Dates — bulk-block holidays and training days for all staff at once
* Waitlist system with "Text Us" fallback when no slots are available
* Recurring appointments — clients set up weekly/bi-weekly repeat bookings from confirmation page
* Custom booking form fields — drag-and-drop builder, 6 field types (allergy notes, reference images, skin type, and more)
* Tip / gratuity — preset percentages or custom amount at checkout

**Customer Experience**
* Google Calendar + Apple/Outlook (.ics) add-to-calendar on confirmation
* Rebooking nudge — configurable reminder shown after booking confirmed
* Customer self-service portal — view, reschedule, or cancel appointments
* Cancellation & no-show policy display

**Photo Gallery & Catalog**
* `[yatoon_gallery]` — upload multiple photos per service; auto-scrolling carousel on any page, desktop and mobile
* Infinite loop, bottom dot navigation (clickable), mobile swipe, desktop drag
* `[yatoon_catalog]` — display services as image cards with category filter tabs and Book button
* Catalog & Gallery settings page — control mode, columns, ratio, gap, lightbox, autoplay speed from admin — no shortcode editing needed

**Reviews & Ratings**
* Star rating email sent automatically after each appointment
* Clients tap 1–5 stars, optionally leave written review — no login required
* Admin review management — approve, reject, feature, or delete
* `[yatoon_reviews]` shortcode to display approved reviews (Pro)

**Admin**
* Dashboard with KPI cards (today, month revenue, no-show rate), 7-day trend chart, today's timeline, Needs Attention panel
* Form Fields builder — drag-and-drop custom fields
* Closed Dates manager with live preview and quick-add buttons
* Clients page with notes, tags, and visit history

= Upgrade to Pro =

* **Square & Vagaro calendar sync** — block booked slots automatically, no double-bookings
* **SMS reminders** via Twilio — cut no-shows by up to 50%
* **Google Calendar sync**
* **Unlimited staff** members
* **Deposit & prepay** — require upfront payment for high-value or repeat no-show clients
* **No-show tracking** — auto-flag clients and require deposits on future bookings
* **Waitlist auto-notify** — email the next person instantly when a cancellation opens
* **Service packages** — sell pre-paid session bundles (Buy 5, get 1 free)
* `[yatoon_reviews]` — display customer star ratings on your site
* **Branding controls** — custom colors, logos, button labels
* **Priority support**

= Shortcodes — paste these onto any page =

**Booking**
* `[yatoon_booking]` — full multi-step booking form
* `[yatoon_customer_portal]` — customer appointment self-service portal
* `[yatoon_manage_booking]` — secure manage / reschedule / cancel page

**Gallery & Catalog**
* `[yatoon_gallery]` — photo carousel from all service gallery images
* `[yatoon_gallery service_id="5"]` — carousel for one specific service only
* `[yatoon_gallery category="Custom Design"]` — filter by service category
* `[yatoon_gallery cols="5" limit="10" ratio="9/16" mobile_height="500px"]` — full options
* `[yatoon_catalog]` — service image card grid with Book button
* `[yatoon_catalog cols="4" category="Manicures"]` — filtered catalog

**Service Menu & Reviews**
* `[yatoon_service_menu]` — restaurant-style service menu display
* `[yatoon_reviews]` — approved customer star ratings (Pro)

= Gallery Shortcode Options =

* `cols` — columns on desktop (default: 5)
* `limit` — max images to load (default: 50)
* `ratio` — image aspect ratio: 1/1, 4/3, 3/4, 9/16, 16/9 (default: 1/1)
* `mobile_height` — fixed height on mobile, e.g. 500px (optional, overrides ratio)
* `mode` — grid (default) or slider
* `service_id` — show only this service's images
* `category` — show only this category's images
* `lightbox` — 1 or 0 (default: 1)
* `interval` — autoplay speed in ms (default: 3500)

= Installation =

1. Plugins → Add New → Upload Plugin → upload ZIP → Activate
2. Yatoon Booking System → Settings — configure your business details
3. Add `[yatoon_booking]` to your booking page
4. Add `[yatoon_gallery]` to your homepage for an auto-scrolling photo gallery
5. Upload gallery photos: Services → Edit any service → Gallery Images → + Add Images

= External Services =

Free version uses no external services. Freemius SDK is bundled for licensing.
* Freemius: https://freemius.com/ · Terms: https://freemius.com/terms/

== Changelog ==

= 2.1.0 (phone patch) =
* New: International phone number support — US-only, international picker (customer selects country flag + dial code), or preset country mode (Settings → General).
* New: Phone required toggle — make phone number optional on the booking form.
* New: Email OTP verification — 6-digit code sent to customer email before booking confirms (uses WordPress mail, no third-party needed).
* New: SMS OTP verification — 6-digit code via Twilio SMS before booking confirms (requires Twilio in SMS settings).
* New: OTP expiry setting — 5/10/15/30 minutes.
* Fix: Removed hardcoded pattern="[0-9]{10}" and maxlength="10" from phone input in Square booking form.

= 2.1.0 =
* New: [yatoon_gallery] — infinite-loop auto-scrolling photo carousel; upload multiple images per service from the Services editor.
* New: Clickable dot navigation below carousel — shows current position, click any dot to jump to that image.
* New: mobile_height shortcode parameter — set exact mobile carousel height independently of desktop ratio.
* New: [yatoon_catalog] — service image card grid with category filter tabs, hover Book button, and popup booking.
* New: Catalog & Gallery settings page — control all display options from admin without editing shortcodes.
* New: Custom booking form fields — drag-and-drop builder with 6 field types. Add allergy notes, reference image URLs, skin type, first-visit question, and more.
* New: Tip / gratuity at checkout — preset % buttons (15/18/20) or custom amount; fully configurable from Settings.
* New: Service Packages admin page (Pro) — create pre-paid session bundles with sessions, pricing, and expiry.
* New: Star rating collection — automated email after appointment; clients tap stars, optionally write a review.
* New: Reviews admin page — approve, reject, feature, delete; average rating KPI on dashboard.
* New: Recurring appointments (Pro) — set up weekly/bi-weekly repeat series from the booking confirmation page.
* New: Staff profile cards redesigned — rating stars from reviews, Popular/Experienced badges from booking data.
* New: Time slot UI redesigned — green ✓ on hover, strikethrough for unavailable, orange Reassign for busy.
* New: Dashboard redesigned — KPI cards, 7-day trend chart, Needs Attention panel, no-show rate warning.
* New: Closed Dates page — bulk-block holidays for all staff with live preview and quick-add buttons.
* New: Pro gate pages for Deposit & Prepay, No-show Tracking, Waitlist Auto-notify, Packages.
* Improved: Mobile gallery — full-width single image, auto-scroll, swipe support.
* Improved: Step progress bar with animated green checkmarks on completed steps.
* Improved: Success page — Google/Apple calendar buttons, rebooking nudge with configurable text.
* Improved: Empty state illustrations throughout booking form.

= 2.0.0 =
* Initial public release on WordPress.org.
* Multi-step booking flow, customer portal, waitlist recovery, service menu, and admin dashboard.
