=== Booking System - Booking for Appointments and Booking Calendar ===
Contributors: wpbookpoint
Tags: booking system, appointment booking, booking calendar, scheduling, online booking
Requires at least: 6.0
Tested up to: 6.9
Stable tag: 2.6.17
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Booking system plugin for WordPress with appointment booking, booking calendar, scheduling, online reservations, and service management.

== Description ==

Booking System - Booking for Appointments and Booking Calendar is a modern appointment booking plugin and scheduling system for WordPress.

It helps businesses accept online bookings, manage services, control schedules and availability, organize customers, handle appointments and reservations, and configure payments through a clean booking calendar workflow.

This plugin is fully functional without any license key and includes:

* Services and categories management
* Locations management
* Service extras
* Promo codes
* Holidays and time-off management
* Booking widget, booking form, and shortcode support
* Booking calendar, schedule, and availability configuration
* Customers, appointments, and bookings management
* Online payments configuration for Cash, WooCommerce, Stripe, and PayPal
* Fast performance
* Mobile responsive booking interface
* No locked or trial-only built-in features in this WordPress.org package

Need a setup walkthrough? Watch the step-by-step video tutorial: https://www.youtube.com/watch?v=rqMzZwy_64I

This WordPress.org package does not gate built-in functionality behind licenses, trials, quotas, or time limits. Any paid add-on functionality is distributed separately and is not included in this package.

== Source Code / Build ==

Generated asset files shipped in this plugin are built from human-readable source files included in the plugin package.

Source directories:

* `src/admin/` - admin React source
* `src/front/` - front-end React source
* `src/shared/` - shared source used by compiled admin/front-end bundles
* `blocks/src/book-form/` - Gutenberg block source

Generated files:

* `build/admin.js`
* `build/index.jsx.css`
* `build/index.jsx-rtl.css`
* `public/build/front.js`
* `public/build/index.jsx.css`
* `public/build/index.jsx-rtl.css`
* `public/front.js`
* `public/index.jsx.css`
* `public/index.jsx-rtl.css`
* `blocks/build/book-form/index.js`

The files in `public/` listed above include legacy compatibility copies generated from the same `src/front/` sources.

Generated files should not be edited manually. Edit the source files in `src/` or `blocks/src/` and rebuild.

Build commands:

1. `npm install`
2. `npm run build`

Individual build commands:

* `npm run build:admin`
* `npm run build:front`
* `npm run build:book-form`

Build tooling is declared in `package.json`, and the build steps are documented in this readme.

== Installation ==

1. Upload the plugin folder to the `/wp-content/plugins/` directory, or install it through the WordPress Plugins screen.
2. Activate the plugin through the Plugins menu in WordPress.
3. Configure services, schedules, locations, and availability in the BookPoint admin menu.
4. Add the booking widget using the included block or shortcode.

== Frequently Asked Questions ==

= Does the free version require a license? =

No. The plugin works fully without any license key.

= Is there a setup video? =

Yes. Watch the step-by-step setup tutorial here: https://www.youtube.com/watch?v=rqMzZwy_64I

= Is the plugin mobile friendly? =

Yes. The booking interface is fully responsive and works on desktop, tablet, and mobile devices.

= Does this plugin support payments? =

Yes. The plugin includes payment configuration for Cash, WooCommerce, Stripe, and PayPal.

= Is this a booking system plugin for WordPress? =

Yes. BookPoint is a booking system plugin for WordPress designed for appointments, scheduling, and booking calendar management.

= Can I use this as an appointment booking plugin? =

Yes. The plugin is built for appointment booking and service scheduling.

= Does it include a booking calendar? =

Yes. The plugin includes booking calendar, schedule, and availability configuration.

= Can customers choose available dates and time slots? =

Yes. The plugin supports schedules, availability, and booking time selection.

= Can I manage services and categories? =

Yes. You can manage services and service categories in the plugin.

= Does the plugin support multiple locations? =

Yes. Locations management is included.

= Can I add extras to a service? =

Yes. Service extras are supported.

= Can I create promo codes? =

Yes. Promo codes are included.

= Can I block holidays and time off? =

Yes. The plugin includes holidays and time-off management.

= Can I show the booking form with a block? =

Yes. The plugin includes a booking widget with block support.

= Does it support shortcode? =

Yes. The booking form can also be added using shortcode support.

= Can I manage customers and bookings in the admin area? =

Yes. The plugin includes customers and bookings management.

= Is it suitable for service businesses? =

Yes. It is suitable for many businesses that need appointment booking, booking calendar, and scheduling management.

= Does it support online booking? =

Yes. Customers can submit bookings online through your WordPress website.

= Can I use WooCommerce with this plugin? =

Yes. WooCommerce payment configuration is included.

= Does it support Stripe and PayPal? =

Yes. Stripe and PayPal are both supported payment options.

= Are built-in features locked behind trials or quotas? =

No. This WordPress.org package does not gate built-in functionality behind licenses, trials, quotas, or time limits.

== Screenshots ==

1. Appointment booking wizard interface
2. Services and categories management screen
3. Booking calendar and time slot selection
4. Customer bookings management dashboard

== External services ==

Some optional features in this plugin connect to external services for payments and optional webhook delivery.

Stripe

What the service is: Stripe is a payment processing platform.

What it is used for: The plugin uses Stripe to create payment sessions, create payment intents, and confirm payment-related transactions when Stripe payments are enabled.

Service domain(s): `api.stripe.com` for Stripe API requests and `js.stripe.com` for the Stripe-hosted checkout JavaScript loaded in the browser during Stripe checkout.

What data is sent: This may include booking reference data, order amount, currency, return or cancel URLs, and payment metadata required to process the transaction.

When data is sent: Data is sent only when a customer starts a Stripe payment flow, when the Stripe checkout script is loaded in the browser for that payment flow, or when the site requests payment confirmation or related payment processing actions.

Terms of service URL: https://stripe.com/legal
Privacy policy URL: https://stripe.com/privacy

PayPal

What the service is: PayPal is a payment processing platform.

What it is used for: The plugin uses PayPal to obtain API access tokens, create checkout orders, and capture approved payments when PayPal payments are enabled.

Service domain(s): `api-m.paypal.com` for live transactions and `api-m.sandbox.paypal.com` for sandbox transactions.

What data is sent: This may include booking reference data, order amount, currency, return or cancel URLs, and PayPal order data required to process the payment.

When data is sent: Data is sent only when a customer starts a PayPal checkout flow and when an approved PayPal order is captured or verified.

Terms of service URL: https://www.paypal.com/webapps/mpp/ua/legalhub-full
Privacy policy URL: https://www.paypal.com/webapps/mpp/ua/privacy-full

Optional administrator-configured webhook destination

What the service is: This is an optional external webhook endpoint configured by the site administrator. The destination is not pre-defined by the plugin.

What it is used for: The plugin can send booking event notifications to an external automation, CRM, or integration endpoint chosen by the site administrator.

Service domain(s): Any external domain explicitly configured by the site administrator for webhook delivery.

What data is sent: This may include the event name, site URL, timestamp, and event payload such as booking ID, status, service ID, customer ID, agent ID, and related booking fields.

When data is sent: Data is sent only if the webhook feature is enabled and the site administrator has configured an external webhook URL for the relevant event.

Terms of service URL: The terms of service of the external provider chosen by the site administrator.
Privacy policy URL: The privacy policy of the external provider chosen by the site administrator.

== Changelog ==

= 2.6.17 =
* Added a step-by-step BookPoint setup video to the admin How To Use screen and documented the tutorial link in the readme.
* Updated all Pro purchase/detail calls to action to use the BookPoint pricing page URL.

= 2.6.16 =
* Removed the unexpected root `BUILDING.md` file from the production plugin package.
* Normalized the main plugin file so the distributed `pointly-booking.php` uses a single line-ending style.

= 2.6.15 =
* Repackaged the latest WordPress.org submission build with the cleaned root plugin file, included source directories, and build documentation.

= 2.6.14 =
* Included `src/`, `package.json`, and build instructions in the distributed plugin package so compiled assets have matching human-readable source.
* Removed the legacy extra root `bookpoint-v5.php` file from the package and kept `pointly-booking.php` as the single plugin entry file.

= 2.6.13 =
* Merged the plugin bootstrap and runtime into a single root file named `pointly-booking.php`.
* Removed the extra root `bookpoint-v5.php` entry file to keep the upload package aligned with standard WordPress plugin structure.

= 2.6.12 =
* Added a standard root plugin bootstrap file (`pointly-booking.php`) with the complete WordPress plugin header.
* Converted `bookpoint-v5.php` into an internal core loader so upload scanners only detect one valid plugin entry file.

= 2.6.11 =
* Secured the public manage-booking slots REST route so `exclude_booking_id` now requires either booking-management capability or the matching booking manage key.
* Updated the customer reschedule page to pass the booking manage key when requesting replacement time slots.

= 2.6.10 =
* Tightened REST API permissions across admin endpoints to keep customer, agent, schedule, holiday, and field-value access inside the correct capability scope.
* Replaced blocked public plugin URLs with working WordPress.org URLs and prepared a clean free-only upload package without archived release copies.

= 2.6.9 =
* Fixed the booking wizard customer form so text fields keep focus while typing instead of forcing a click after each character.
* Regenerated the frontend assets and packaged the updated free plugin release for upload.

= 2.6.8 =
* Updated the admin release package with the latest sidebar cleanup, icon assignments, and corrected account icon filename.
* Regenerated the upload package for the current BookPoint free plugin release.

= 2.6.7 =
* Fixed the booking wizard layout so Back and Next stay in a dedicated footer instead of overlapping step content.
* Improved the booking flow release package with rebuilt frontend, admin, and block assets for distribution.

= 2.6.6 =
* Refined the admin shell to match the new sidebar and topbar visual system more closely without changing the menu labels.
* Improved sidebar proportions, grouped navigation rhythm, and responsive drawer behavior for a cleaner admin experience.

= 2.6.5 =
* Tightened REST API permission callbacks for promo codes, tools, and calendar booking access.
* Updated the booking form block render callback to avoid returning raw shortcode output.

= 2.6.1 =
* Split the admin app into lazy-loaded screen chunks to improve initial load performance.
* Centralized admin success and error toasts so save feedback is more consistent across screens.
* Polished save feedback in key catalog, settings, and promo-code flows.

= 2.5.1 =
* Improved plugin title and description for better visibility in booking system, appointment booking, and booking calendar searches.
* Enhanced readme content for clearer scheduling, online booking, and service booking discovery.
* Expanded FAQ content to better describe existing booking, calendar, and payment features.

= 1.0.4 =
* Added a safe BookPoint Pro information screen and feature registry for a separate paid add-on.
* Fixed corrupted encoded symbols in admin screens and the booking block.
* Fixed save redirects that could trigger the browser unsaved-changes warning after a successful save.

= 1.0.3 =
* Maintenance release.

= 1.0.1 =
* Initial WordPress.org release.

== Upgrade Notice ==

= 2.6.17 =
Adds the setup tutorial link and updates all Pro purchase buttons to the BookPoint pricing page.

= 2.6.16 =
Packaging cleanup to remove the unexpected root markdown file and normalize the main plugin file line endings.

= 2.6.15 =
Submission refresh for the latest reviewed package build.

= 2.6.14 =
Packaging update that includes the human-readable build source and build instructions required to review the compiled assets.

= 2.6.13 =
Packaging cleanup that keeps the plugin in a single root file named `pointly-booking.php` and removes the extra root PHP entry file.

= 2.6.12 =
Packaging fix that restores a standard root plugin bootstrap file and resolves plugin header detection issues in upload scanners.

= 2.6.11 =
Security release that closes public access to booking-specific slot exclusion checks on the manage-booking endpoint.

= 2.6.10 =
Security and packaging update with narrower admin REST permissions and clean public plugin URLs for the free release.

= 2.6.9 =
Fixes the booking wizard form inputs so customers can type normally without losing focus after each character.

= 2.6.8 =
Maintenance release with the latest admin menu and icon fixes packaged for upload.

= 2.6.7 =
Fixes the booking wizard action layout so navigation no longer covers the booking form content.

= 2.6.6 =
Admin UI refresh with tighter sidebar and topbar alignment for the latest BookPoint workspace layout.

= 2.6.5 =
Security and compliance update with narrower REST permissions and safer booking block rendering.

= 2.6.1 =
Improved admin performance with lazy-loaded screens and cleaner save feedback across core workflows.

= 2.5.1 =
Improved booking system, appointment booking, and booking calendar visibility with updated readme content.

= 1.0.4 =
Maintenance update with text cleanup, safer save confirmations, and a separate Pro information foundation.

= 1.0.1 =
Initial public release of Booking System - Booking for Appointments and Booking Calendar with core booking features.
