=== ClassPilot Booking ===
Contributors: griffinforms
Tags: booking, classes, scheduling, fitness, wellness
Requires at least: 6.6
Tested up to: 7.1
Stable tag: 1.0.0
Requires PHP: 8.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A self-contained WordPress booking plugin — manage class schedules, bookings, and customer credits directly in your WordPress site.

== Description ==

ClassPilot Booking lets your customers discover, book, and manage classes directly on your WordPress site. All booking, scheduling, and credit data is stored in your WordPress database — no external SaaS account required.

The plugin uses **Stripe Checkout** for payment processing. When a customer books a paid class or purchases a credit pack, they are redirected to Stripe's hosted checkout page. An administrator can also optionally configure outbound webhooks to send limited booking event identifiers to a destination they choose.

== Installation ==

1. Upload the plugin files to `/wp-content/plugins/classpilot-booking/`, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the Plugins screen in WordPress.
3. Go to **ClassPilot > Setup** and enter your Stripe API keys.

== Frequently Asked Questions ==

= What data is stored in WordPress? =

All data is stored locally in your WordPress database. This includes class schedules, session timetables, booking records, customer names and email addresses, class pack credit balances, location and instructor records, and attendance history.

= What external services does this plugin use? =

The plugin uses Stripe for payment processing. When a customer pays for a booking or a credit pack, they are redirected to Stripe's hosted checkout page. Stripe's privacy policy applies to data processed during checkout.

Administrators may optionally configure outbound webhooks. When enabled, each delivery contains the event type, numeric booking, session, and customer identifiers, and the site URL; it does not include customer names or email addresses. The administrator chooses the destination and is responsible for reviewing that destination's terms and privacy policy.

= How do customers request deletion of their data? =

Site administrators can use the built-in WordPress personal data tools (Tools → Erase Personal Data) to anonymise or delete a customer's booking and credit records.

== External Services ==

This plugin uses Stripe for payment processing.

When a customer books a paid class or purchases a credit pack, the plugin creates a Stripe Checkout session and redirects the customer to Stripe's hosted payment page. The customer's payment details are entered directly on Stripe's servers and are never stored in WordPress.

* Stripe privacy policy: https://stripe.com/privacy
* Stripe terms of service: https://stripe.com/legal

Administrators can optionally configure outbound webhooks for booking events. Each enabled webhook sends the event type, numeric booking, session, and customer identifiers, and the site URL to the administrator-selected HTTPS endpoint. Customer names, email addresses, payment details, and raw Stripe payloads are not included. Review the destination provider's terms and privacy policy before enabling a webhook.

All booking, scheduling, and customer data is stored in the WordPress site's own database.

== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
Initial release.
