=== Bookser — Widget Popup Button for Booksy ===
Contributors: hlebautko, goodwebstudio
Tags: booksy, booking, popup, appointment, widget
Requires at least: 5.8
Tested up to: 7.0
Stable tag: 1.6.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Add a Booksy online booking popup button anywhere on your WordPress site with a simple shortcode. No coding required.

== Description ==

**Bookser — Widget Popup Button for Booksy** lets you place a fully customizable booking button on any WordPress page, post, or widget area using a simple shortcode. When a visitor clicks the button, a smooth modal popup opens with the Booksy booking widget — no page reload, no redirects.

Perfect for salons, barbershops, beauty studios, spas, and any service business using Booksy across **Poland, United States, Spain, United Kingdom, and Brazil**.

= Key Features =

* 📅 **Popup booking widget** — Opens Booksy inline in a beautiful modal overlay
* 🎨 **3 button styles** — Solid, Glass, Outline
* 🔘 **3 button shapes** — Square, Rounded, Pill
* ↔️ **Alignment control** — Left, Center, Right
* 🎨 **Custom colors** — Button color and text color via color picker
* 📋 **Multiple buttons** — Create unlimited buttons with different Booksy IDs
* 🔑 **Simple shortcode** — `[bookser_popup_button slug="your-slug"]`
* 📱 **Mobile responsive** — Looks great on all devices
* ⚡ **Lightweight** — No jQuery dependency, pure vanilla JS
* 🌍 **Multi-country** — Works with all Booksy markets (PL, US, ES, GB, BR and more)

= How to Use =

1. Go to **Settings → Bookser Popup Button**
2. Click **Add New Button**
3. Enter your Booksy embed code (paste the script tag from your Booksy profile)
4. Customize button text, color, shape, style, and alignment
5. Copy the shortcode and paste it anywhere on your site

= Shortcode Parameters =

`[bookser_popup_button slug="your-slug"]`

Override any setting per-instance:

`[bookser_popup_button slug="anna" text="Book now" align="center" style="glass" shape="pill"]`

Available parameters:
* `slug` — (required) Button slug defined in settings
* `text` — Button label text
* `color` — Button background color (hex)
* `text_color` — Button text color (hex)
* `shape` — square | rounded | pill
* `style` — solid | glass | outline
* `align` — left | center | right

= Supported Countries =

* 🇵🇱 Poland (pl)
* 🇺🇸 United States (us)
* 🇪🇸 Spain (es)
* 🇬🇧 United Kingdom (gb)
* 🇧🇷 Brazil (br)

= Privacy =

This plugin loads an iframe from **booksy.com** when a user clicks the booking button. No personal data is collected or stored by this plugin itself. Please refer to [Booksy Privacy Policy](https://booksy.com/privacy-policy) for details on data handling within the Booksy widget.

== Installation ==

1. Upload the plugin folder to `/wp-content/plugins/` or install via **Plugins → Add New → Upload Plugin**
2. Activate the plugin via **Plugins → Installed Plugins**
3. Go to **Settings → Bookser Popup Button** to configure your button(s)
4. Paste the shortcode `[bookser_popup_button slug="your-slug"]` wherever you want the button to appear

== Frequently Asked Questions ==

= Where do I find my Booksy embed code? =

Log in to your Booksy business account, go to **Online Booking → Website Integration**, and copy the script embed code. Paste it into the plugin settings.

= Can I have multiple buttons with different Booksy profiles? =

Yes. You can create unlimited buttons, each with its own Booksy ID, text, colors, and style. Each button gets a unique slug used in the shortcode.

= Does this work in Elementor and Gutenberg? =

Yes. Paste the shortcode into any Shortcode block in Gutenberg or the Elementor Shortcode widget.

= Which Booksy countries are supported? =

The plugin works with all Booksy markets. The country code is automatically detected from your embed code. Confirmed working for Poland (pl), United States (us), Spain (es), United Kingdom (gb), and Brazil (br).

= Is jQuery required? =

No. The plugin uses pure vanilla JavaScript — no jQuery dependency.

= Does the plugin slow down my site? =

No. The Booksy script is only loaded inside the popup iframe when the user clicks the button. Nothing is loaded on page load.

== Screenshots ==

1. Admin settings page — add and manage your Booksy buttons
2. Button preview with live style controls in the admin
3. Frontend popup modal with Booksy booking widget
4. Shortcode copy button for quick placement

== Changelog ==

= 1.5.1 =
* Fixed: All security escaping issues (esc_attr, esc_html)
* Fixed: Created /languages folder for Domain Path
* Fixed: Moved inline admin JS to separate enqueued file
* Updated: Tested up to WordPress 6.9
* Improved: Code quality and WordPress Coding Standards compliance

= 1.5.0 =
* Renamed to Bookser — Widget Popup Button for Booksy
* Prepared for WordPress.org repository submission
* Added multi-country support (PL, US, ES, GB, BR)
* Improved admin UI with live button preview
* Added Glass and Outline button styles
* Added Pill shape option
* Added alignment control (left / center / right)
* Added Copy Shortcode button in admin
* Performance: Booksy script loads only on popup open
* Mobile: full-screen popup on small screens

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.5.1 =
Security and compatibility update. All users should upgrade to ensure WordPress 6.9 compatibility and proper code standards compliance.
