=== Simple Booking ===
Contributors: tanchev
Tags: booking, appointments, calendar, scheduling, reservations
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 2.3.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Appointment booking for WordPress. Services, staff schedules, and email notifications — free, with no booking limits.

== Description ==

Simple Booking turns any WordPress site into an appointment booking system. Define your services, set your opening hours, and let customers book themselves in.

It works on its own, and takes bookings that customers pay for on the day.

= Free features =

* Unlimited services, staff members and bookings — no caps of any kind
* Weekly opening hours, breaks, holidays, and one-off schedule changes
* Per-service duration, setup and cleanup buffers, minimum notice, and booking window
* Group bookings for classes and workshops
* Email notifications: confirmation, cancellation, and reminders, with wording you can edit
* Customer self-service cancellation, within a window you set
* Admin calendar with day, week, and month views, and booking by phone
* Prices per service, settled on site
* Fully translatable, with Bulgarian included
* Times stored in UTC, so bookings survive daylight-saving changes and server moves

= Simple Booking Pro =

The [Pro add-on](https://tanchev.net/simple-booking/pricing/) is a separate plugin that adds:

* SMS and WhatsApp delivery through Twilio
* Deposits and online payments through your WooCommerce checkout, holding the slot until the deposit lands

The add-on ships those implementations; it does not switch on anything this plugin already contains. Everything else described above is in the free plugin and stays there.

== Installation ==

1. Upload the plugin to `/wp-content/plugins/simple-booking`, or install it from Plugins → Add New.
2. Activate it.
3. Go to Booking → Settings to set your opening hours.
4. Add your services under Booking → Services.
5. Place the `[simple_booking]` shortcode, or the Booking Form block, on any page.

== Frequently Asked Questions ==

= Do I need WooCommerce? =

Not for this plugin. Simple Booking works on its own for free and pay-on-site bookings, and never asks for card details. Taking a deposit online needs both the Pro add-on, which contains the gateway, and WooCommerce, which does the card processing.

= Is there a limit on bookings? =

No. The free version takes unlimited bookings, for unlimited services, across unlimited staff. What the add-on sells is the work around the appointment — reaching customers by SMS and WhatsApp, and collecting money before they arrive — not volume.

= What happens to my deposit settings if I do not have the add-on? =

They are kept and ignored. A service configured to ask for a deposit still records that it wants one, but bookings confirm immediately and nobody is asked to pay, because without the add-on there is no gateway on the site to take the money. The settings start binding again the day a licence covers them.

= Will it work with my theme? =

The booking form inherits your theme's typography and colours, and ships with no opinionated styling of its own beyond layout.

= Can I migrate from version 1.x? =

Yes. If the plugin finds bookings stored by an earlier version, it offers a one-click import that preserves appointments, customers, and payment status.

== Screenshots ==

1. The booking form on the front end.
2. The admin calendar.
3. Service settings, including duration and buffers.
4. Weekly opening hours.
5. Notification settings.

== Changelog ==

= 2.3.0 =
* Bulgarian translation, complete for every string in the plugin.
* The plugin description no longer claims WooCommerce payments, which moved to the add-on in 2.2.0.

= 2.2.0 =
* Deposits and online payments moved to the Pro add-on. The WooCommerce gateway that collects them now ships in the add-on rather than here, so this plugin no longer contains payment-collection code at all.
* Services keep their deposit settings whether or not a licence covers them. Without one, bookings confirm immediately instead of waiting for a payment the site cannot take, and editing a service no longer resets the deposit it is configured to ask for.
* Group bookings, multi-staff scheduling and editable notification wording are unchanged and remain free.
* Tested against WordPress 7.1.

= 2.1.0 =
* Deposits and online payments, group bookings, and editable notification wording are now part of the free plugin.
* Staff members are no longer limited to one.
* The Pro add-on now covers SMS and WhatsApp delivery only.
* Fixed the admin calendar opening its "new booking" dialog by itself and ignoring the close button.
* A licensed channel with no credentials entered now links to its settings instead of showing an upgrade prompt.

= 2.0.0 =
* Complete rewrite. New data model, availability engine, and admin interface.
* Bookings now live in dedicated tables instead of custom post types, making calendar views dramatically faster on busy sites.
* All times stored in UTC with an explicit timezone, fixing daylight-saving errors.
* Double booking is now prevented by a database constraint rather than by an application-level check that could lose a race.
* WooCommerce is optional rather than required.
* Multi-staff scheduling.
* Full internationalisation.

== Upgrade Notice ==

= 2.2.0 =
Deposits and online payments now need the Pro add-on. If you take deposits today, install and license it before updating, or new bookings will confirm without asking for one. Existing bookings, and your deposit settings, are untouched.

= 2.1.0 =
Deposits, group bookings, editable notification wording and multiple staff are now free. Nothing is removed; existing settings are kept.

= 2.0.0 =
A complete rewrite with a new database schema. Back up your site before upgrading. Existing bookings are migrated through a guided importer on first run.
