=== Oryx Bookings: WooCommerce Appointments & Scheduling (100% Free) ===
Contributors: rabieelkheir
Tags: booking, appointment, woocommerce, scheduling, calendar, reservation
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 1.1.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

The only 100% FREE Booking Plugin with WooCommerce Payments, Unlimited Staff, and 6 Premium Templates. No hidden costs.

== Description ==

> **🚀 WHY CHOOSE ORYX BOOKINGS?**
> Most booking plugins force you to buy a "Pro" version to accept payments or manage staff. **Oryx gives you everything for FREE.**
>
> * **WooCommerce Integration?** ✅ **FREE** (Accept Stripe, PayPal, etc.)
> * **Unlimited Services?** ✅ **FREE**
> * **Unlimited Staff Members?** ✅ **FREE**
> * **6 Premium Form Designs?** ✅ **FREE**
> * **Interactive Admin Calendar?** ✅ **FREE**
>
> Stop paying monthly subscriptions. Oryx is the open-source solution for Salons, Clinics, and Service Businesses.

**Oryx Bookings** is a complete appointment and service booking system for WordPress. Manage services, staff, schedules, and accept bookings with a beautiful frontend form.

= 🔥 KEY HIGHLIGHTS =

* **Unlimited Services & Staff** — Create as many services and team members as you need.
* **WooCommerce Ready** — Sell appointments like products and use any payment gateway.
* **Interactive Calendar** — Visual calendar view to manage all your bookings at a glance.
* **6 Booking Form Templates** — Grid, Stepper, Accordion, Card Flow, Flat Split, and Focus Input.
* **Smart Scheduling** — Real-time availability with automatic double-booking prevention.
* **Secure & GDPR-Ready** — Built-in spam protection, rate limiting, reCAPTCHA v3, and WordPress privacy tools integration.

= 🛠️ DETAILED FEATURES =

**Services Management**
* Custom name, duration, price, description, and featured image per service.
* Rich content editor with media support.
* Organize services into categories.
* **Two scheduling modes:** Staff-based (user picks staff) or Service-only (auto-assign based on company hours).

**Staff & Team**
* Staff profiles with name, job title, and photo.
* Flexible availability: follow company hours or set a custom weekly schedule.
* Individual days off per staff member.
* Assign multiple staff to each service.

**Bookings & Workflow**
* Real-time available time slots based on service duration.
* **Booking statuses:** Pending, Confirmed, Cancelled, Completed.
* Collects customer name, email, and optionally phone, address, and notes.
* Configurable form fields — enable or disable optional fields from Settings.

**Interactive Calendar**
* Full interactive calendar (day, week, month, and list views).
* Create, edit, drag-and-drop, and delete bookings directly from the calendar.
* Filter by staff or service.
* Visual color coding by booking status.

**Working Hours & Holidays**
* Set opening and closing times for each day of the week.
* Mark specific days as closed.
* Add company holidays — bookings are automatically blocked on those dates.

**Elementor & Gutenberg Support**
* **Elementor Widget:** Drag-and-drop from the "Oryx Bookings" category with live preview.
* **Gutenberg Block:** Search "Oryx - Booking Form" with server-side preview.
* **Shortcode:** Use `[oryx_bookings]` anywhere.

= 🎨 CUSTOMIZATION =

* **Primary Color** — Match your brand with a single color setting.
* **Display Toggles** — Show or hide service image, description, price, duration, and staff image.
* **Custom Labels** — Change step titles, button text, and the success message.
* **Redirect URL** — Send customers to a thank-you page after booking.

= 🔒 SECURITY =

* Rate limiting per IP for slot lookups and booking creation.
* Honeypot fields and time-based tokens to block bots.
* Google reCAPTCHA v3 support.
* Booking limits per email, IP, and phone number.
* Email and IP blocklist.

== Installation ==

1. Upload the `oryx-bookings` folder to `/wp-content/plugins/`
2. Activate the plugin from the **Plugins** screen
3. Go to **Oryx Bookings > Settings > Working Hours** and set your business hours
4. Add your team under **Oryx Bookings > Staff**
5. Create your services under **Oryx Bookings > Services** and assign staff
6. Add the booking form to any page using the Elementor widget, Gutenberg block, or `[oryx_bookings]` shortcode

== Frequently Asked Questions ==

= Is the WooCommerce integration really free? =
Yes! Unlike other plugins that charge for "Pro" addons to accept payments, Oryx Bookings integrates with WooCommerce out of the box for free.

= How do I add a booking form to my site? =
You have three options:
* **Elementor** — Drag the "Booking Form" widget.
* **Gutenberg** — Add the "Oryx - Booking Form" block.
* **Shortcode** — Paste `[oryx_bookings]` into any page.

= Can I use this without staff members? =
Yes. Set the service's Availability Mode to "Service-only" and it will use your company working hours directly — no staff selection step.

= How does the plugin prevent double-bookings? =
Multiple layers: real-time availability checks, overlap detection, a temporary booking lock during processing, and a final server-side check before saving.

= Can I customize the shortcode? =
Yes. Example: `[oryx_bookings template="stepper" primary_color="#EF4444" show_price="no"]`. A Shortcode Generator is available in Settings.

== Screenshots ==

1. **Dashboard Overview:** Quick stats and management.
2. **Interactive Calendar:** Drag-and-drop bookings visually.
3. **WooCommerce Support:** Seamless payment integration.
4. **Services Management:** Create and manage your bookable services.
5. **Staff Management:** Profiles with photos, schedules, and days off.
6. **Booking Form (Frontend):** Clean, responsive customer booking experience.
7. **Elementor Widget:** Drag-and-drop with live preview.
8. **Design Settings:** Choose templates, colors, and customize labels.

== Changelog ==

= 1.1.3 =
* **NEW:** Interactive Admin Calendar (Day/Week/Month views).
* **NEW:** Drag-and-drop booking management.
* **NEW:** Google reCAPTCHA v3 integration.
* **NEW:** Gutenberg Block with server-side preview.
* **IMPROVED:** Added Phone, Address, and Notes fields.

= 1.0.1 =
* Added Elementor widget with 6 templates.
* Added GDPR personal data export and erasure.

= 1.0.0 =
* Initial stable release.

== Third-Party Libraries ==

This plugin includes the following third-party libraries:

= Flatpickr =
* Version: 4.6.13
* License: MIT
* Copyright: Gregory Petrosyan

= FullCalendar =
* Version: 6.1.10
* License: MIT
* Copyright: Adam Shaw
