=== BookWellNow Appointment Booking ===
Contributors: BookWellNow
Tags: appointment booking, booking plugin, booking system, scheduling, calendar booking
Requires at least: 5.3
Tested up to: 7.0
Requires PHP: 7.0
Stable tag: 1.0.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Powerful appointment booking plugin & scheduling system with calendar, staff management, and online booking automation. Accept bookings 24/7.

== Description ==

**BookWellNow is a complete appointment booking plugin and scheduling system for WordPress.**

It helps businesses automate their booking process, manage staff schedules, and accept online appointments with a powerful calendar-based booking system.

Whether you need a **booking plugin, reservation system, scheduling software, or appointment management system**, BookWellNow gives you everything in one place.

---

## 🚀 Accept Online Bookings 24/7

Let your customers book appointments anytime with a modern and easy-to-use booking system.

- Accept bookings online 24/7  
- Eliminate manual scheduling and phone calls  
- Avoid back-and-forth emails  
- Reduce no-shows with automated notifications  

---

## 📅 Complete Booking & Scheduling System

BookWellNow is more than just a booking plugin — it's a full **appointment management system** designed for real businesses.

- Appointment booking system  
- Service booking system  
- Staff scheduling system  
- Calendar booking system  
- Time-slot booking system  
- Availability calendar  

---

## 🔥 Key Features

### 📅 Booking Calendar & Availability
- Interactive calendar booking system
- Real-time availability calendar
- Date & time slot selection
- Prevent double bookings

### 👥 Staff & Service Management
- Unlimited services and bookings
- Staff scheduling and assignment
- Auto-select staff and services
- Multi-service booking system

### ⏰ Advanced Scheduling System
- Custom working hours
- Shift management system
- Break time configuration
- Holiday & special day management
- Flexible scheduling rules

### 🧾 Booking Experience
- Step-by-step booking wizard
- Smooth frontend booking form
- Clean and modern UI

### 📩 Notifications & Automation
- Custom email notifications
- Booking confirmations & updates
- Automated scheduling workflow

### 📄 PDF Booking Receipt
- Generate downloadable booking receipts

### 🔒 Security & Reliability
- Built-in spam protection
- Secure booking system

### 🌍 Translation Ready
- Fully multilingual support

---

## 💡 Solve Real Booking Problems

BookWellNow helps you:

- Automate appointment scheduling  
- Avoid double booking  
- Manage staff schedules easily  
- Handle bookings without manual work  
- Save time and increase productivity  
- Provide a better customer booking experience  

---

## 🏢 Who Can Use BookWellNow?

BookWellNow is built for any business that depends on appointments, reservations, or scheduling.

### 🏥 Healthcare & Medical
Doctors, clinics, dentists, therapists, physiotherapists, wellness centers

### 💇 Beauty & Salon Booking
Hair salons, spas, barbershops, makeup artists, skincare clinics

### 🧘 Fitness & Coaching
Gyms, yoga studios, personal trainers, life coaches, fitness centers

### 🎓 Education & Classes
Tutors, coaching institutes, online classes, training centers

### 🏢 Professional Services
Consultants, lawyers, accountants, agencies, freelancers

### 🏠 Local Services
Cleaning services, repair services, electricians, plumbers

### 📸 Creative Professionals
Photographers, videographers, designers

### 🚗 Automotive Services
Car service centers, repair shops, detailing services

### 🏨 Events & Booking
Event planners, wedding planners, workshops, studios

### 🐾 Pet Services
Pet grooming, veterinary clinics, pet trainers

---

## 🔍 Popular Use Cases

- Booking plugin for salon  
- Booking system for clinic  
- Appointment scheduler for consultants  
- Scheduling plugin for coaches  
- Booking system for gyms  
- Booking plugin for photographers  

---

## ⚡ Why Choose BookWellNow?

- Lightweight and fast booking plugin  
- Easy setup and user-friendly interface  
- Powerful scheduling system  
- Works for any industry  
- Ideal free alternative to premium booking plugins  
- Built for real business workflows  

---

## 📌 Shortcode

Display booking form:

[bookwell_booking]

---

== Installation ==

1. Upload plugin to `/wp-content/plugins/`
2. Activate plugin
3. Go to BookWellNow in dashboard
4. Add shortcode `[bookwell_booking]` to any page

---

== Frequently Asked Questions ==

= How do I accept bookings on my website? =
Use shortcode [bookwell_booking]

= Can I manage staff schedules? =
Yes, including shifts, holidays, and working hours

= Can customers book online? =
Yes, 24/7 booking system

= Does it prevent double booking? =
Yes, built-in availability control

= Can I create multiple services? =
Yes, unlimited services supported

---

## 🔐 Security and Permissions

BookWellNow uses capability checks and nonce validation for admin-side settings/actions.

Notification settings are restricted to users with plugin settings permissions and are not intended to be editable by lower-privileged roles.

Use shortcode:

`[bookwell_booking]`

---

## 📦 Third-Party Libraries

This plugin bundles the following third-party libraries inside the plugin package:

* Vue.js - https://vuejs.org/ - License: MIT
* Element Plus - https://element-plus.org/ - License: MIT
* Element Plus Icons - https://github.com/element-plus/element-plus-icons - License: MIT
* Axios - https://axios-http.com/ - License: MIT
* Qs - https://github.com/ljharb/qs - License: BSD-3-Clause
* SortableJS - https://sortablejs.github.io/Sortable/ - License: MIT
* Chart.js - https://www.chartjs.org/ - License: MIT
* intl-tel-input - https://github.com/jackocnr/intl-tel-input - License: MIT

These assets are used to render the admin and frontend booking interfaces and to generate PDF receipts.

For source/version/license traceability of bundled assets, see `THIRD-PARTY-LICENSES.txt` in the plugin root.

## Public Source for Bundled/Generated Assets

Some JavaScript files in this plugin are vendor-distributed minified/compiled bundles (for example `*.min.js` and generated distribution builds). They are third-party libraries, not obfuscated custom plugin code.

The publicly accessible upstream sources for these bundled/generated files are:

* `assets/js/vue.cjs.min.js` -> Vue.js source: https://github.com/vuejs/core
* `assets/js/chart.umd.min.js` -> Chart.js source: https://github.com/chartjs/Chart.js
* `assets/js/sortable.min.js` -> SortableJS source: https://github.com/SortableJS/Sortable
* `assets/js/elements-plus.js` -> Element Plus source: https://github.com/element-plus/element-plus
* `assets/css/elements.css` -> Element Plus CSS source: https://github.com/element-plus/element-plus
* `assets/js/element-plus-icons.iife.min.js` -> Element Plus Icons source: https://github.com/element-plus/element-plus-icons
* `assets/js/axios.min.js` -> Axios source: https://github.com/axios/axios
* npm package code listing for Axios distribution: https://www.npmjs.com/package/axios/v/1.16.1
* `assets/js/qs.min.js` -> Qs source: https://github.com/ljharb/qs
* npm package listing for Qs distribution: https://www.npmjs.com/package/qs/v/6.15.2
* `assets/js/intlTelInput.min.js` -> intl-tel-input source: https://github.com/jackocnr/intl-tel-input
* `assets/css/intlTelInput.css` -> intl-tel-input CSS source: https://github.com/jackocnr/intl-tel-input
* `assets/js/utils.js` -> libphonenumber source (distributed via intl-tel-input): https://github.com/google/libphonenumber
* npm package code listing for intl-tel-input distribution: https://www.npmjs.com/package/intl-tel-input

The plugin ZIP also includes `THIRD-PARTY-LICENSES.txt` with per-file mapping, versions, and license details.

---

## 🌐 External Services

This plugin can load Google Fonts on the frontend booking form when a Google font family is selected in plugin appearance settings.

Service: Google Fonts  
Provider: Google LLC  
Service URL: https://fonts.googleapis.com/  
Privacy Policy: https://policies.google.com/privacy  
Terms: https://policies.google.com/terms

What is sent:
* Visitor IP address (by the browser request)
* User agent and browser/network request headers
* Requested font family/style information

When it is sent:
* Only on pages where the booking form is rendered and a Google font family is configured.

Why it is sent:
* To download the selected web font and render the configured booking form typography.

---

== Changelog ==

= 1.0.2 =
* Fixed slow Customers admin list loading with large customer counts by paginating customers first and fetching appointment stats only for the current page.
* Improved Appointments admin list pagination.
* Fixed design issues in the front-end booking form.
* Added Day Calendar option.

= 1.0.1 =
* Fixed Dashboard Day Preview segment positioning so appointment bars render at the correct timeline slot.
* Fixed Day Preview timeline range calculation to respect staff working hours (for example 9 AM to 5 PM no longer starts at 8 AM unless data requires it).
* Improved admin day preview time parsing to correctly handle 12-hour and 24-hour formats without reversing AM/PM placement.
* Spam-token storage moved to custom table with reusable DB helpers and safe upgrade cleanup.

= 1.0.0 =
* Initial public release.