=== Serenity Booking ===
Contributors: serenitystudio
Tags: booking, appointment, salon, spa, scheduling
Requires at least: 5.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Complete salon & spa booking system — 5-step booking wizard, Stripe payments, business dashboard, staff scheduling, and automated emails.

== Description ==

Serenity Booking is an all-in-one booking and business management plugin for salons, spas, barbershops, and wellness businesses. It combines a 5-step booking wizard with a full-featured business dashboard — everything your business needs in one plugin.

**Key Features:**

* 5-step booking wizard (Location → Service → Staff → Time → Confirm)
* Business dashboard available at `yourdomain.com/serenity-booking-dashboard/`
* Stripe payment integration — optional, test & live mode
* Automated HTML email notifications for every appointment event
* Staff scheduling and real-time availability management
* Customer database (CRM) built from bookings
* Holiday and blackout date management
* Multi-location support with per-location hours
* Live color customizer for the booking wizard
* Data retention controls on uninstall

**Who Is It For?**

Serenity Booking works for any business where clients book time: salons, spas, barbershops, nail studios, massage therapists, yoga studios, gyms, personal trainers, photographers, consultants, and more.

== Installation ==

1. Upload the `serenity-booking` folder to `/wp-content/plugins/`
2. Activate the plugin through the **Plugins** menu in WordPress
3. Go to **Settings → Permalinks** and click Save Changes
4. Access the booking wizard at `yourdomain.com/appointment`
5. Access the business dashboard at `yourdomain.com/serenity-booking-dashboard`

== Frequently Asked Questions ==

= Does this require Stripe? =
No. Stripe is optional. Toggle it on/off under Serenity Booking → Settings → Stripe. When disabled the payment step is removed from the wizard entirely.

= Where is the booking page? =
The booking wizard is available at `yourdomain.com/appointment` — no page creation needed.

= Where is the business dashboard? =
The business dashboard is at `yourdomain.com/serenity-booking-dashboard`. Log in with any WordPress admin or staff account.

= Can I manage multiple locations? =
Yes. Add unlimited locations under Serenity Booking → Locations, each with its own address, business hours, and holiday schedule.

= Will this slow down my site? =
No. Assets load only on the booking page and dashboard route. Stats are cached via WordPress transients. Nothing loads site-wide.

= Can my staff use the dashboard without full admin access? =
Yes. Serenity Booking registers a `serb_staff` role with permission-scoped REST access — staff can view and update appointments but cannot access financials or settings.

== Screenshots ==

1. Step 1 — Customer selects a location from available branches
2. Step 2 — Customer browses and selects services with prices and durations
3. Step 3 — Date and time slot picker with real-time availability
4. Step 4 — Stripe payment step (optional, skipped when Stripe is disabled)
5. Step 5 — Booking confirmation with appointment number and summary
6. Business dashboard — Overview with today's stats and recent appointments
7. Business dashboard — Full appointments list with filters and status controls
8. Business dashboard — Customer database with search and booking history
9. Admin settings — Stripe configuration panel
10. Admin settings — Email notification template customizer

== External Services ==

This plugin connects to the following external services:

= Stripe Payment Processing (api.stripe.com and js.stripe.com) =
When the site owner enables Stripe payments, this plugin uses Stripe's API and JavaScript library to process payments. Customer payment details (card number, expiration, CVC) are transmitted directly to Stripe's servers and never stored on the WordPress site. Appointment name, email address, and amount are also sent to Stripe. This connection is only made when a customer completes a booking with payment enabled.
- Service: https://stripe.com
- Privacy Policy: https://stripe.com/privacy
- Terms of Service: https://stripe.com/legal

== Privacy Policy ==

Serenity Booking does not collect or transmit any data to external servers owned by the plugin author.

When the site owner enables Stripe payments, customer name, email address, and payment card details are transmitted to Stripe, Inc. for payment processing. This data is governed by the Stripe Privacy Policy (https://stripe.com/privacy). The site owner is responsible for disclosing this to their customers.

All booking data (appointments, customers, staff records) is stored exclusively in the site's own WordPress database.

== Changelog ==

= 1.0.0 =
* Initial release


= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.0.0 =
Initial release.
