=== Resevu Booking Widget ===
Contributors: resevu
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 0.3.1
License: Proprietary
Short Description: Add the Resevu booking button or a complete inline booking flow to WordPress. All bookings stay in Resevu.

== Description ==
Thin WordPress integration for Resevu. It only lets site owners:
- Save their Resevu tenant ID and optional widget template/language.
- Insert the booking button via shortcode `[resevu_booking_widget]` or the block “Resevu Widget.”
- Add a complete inline booking module via `[resevu_booking_flow]` or the block “Resevu Booking Flow.”
- Open the Resevu dashboard from the WP admin for managing bookings, payments, and settings.

The inline flow supports solo and duo bookings, treatment and duration selection, optional employee preferences, live available dates and times, coupons, consent, price/deposit summaries, and payment redirects.

All booking logic, payments, availability, and customer data remain in Resevu; WordPress only embeds the booking interface.

== Installation ==
1. Upload the `wordpress-plugin` folder as a plugin (rename to `resevu-booking-widget` if needed).
2. Activate the plugin.
3. Go to “Resevu” in the admin menu, enter your Tenant ID (and optional language/template), and save.
4. Copy the website origin shown on that settings page. In Resevu, open Settings → General and add it under Allowed widget origins.
5. Add `[resevu_booking_widget]` for the button/modal or `[resevu_booking_flow]` for the complete inline flow. Both are also available as Gutenberg blocks.
6. Optionally configure links to your WordPress terms and privacy pages. Without a terms URL, the inline flow shows the booking terms configured in Resevu.
7. The plugin loads the relevant interface assets from `https://www.resevu.com/widget/`. WordPress does not store customer or booking data.

== Frequently Asked Questions ==
= Where do bookings show up? =
In your Resevu dashboard. WordPress does not store or manage bookings.

= How do I change the widget template or language? =
Set defaults in the Resevu settings page. You can override per embed: `[resevu_booking_widget tenant="abc" language="nl" template="oasis"]`.

= How do I show the complete booking form on a page? =
Use `[resevu_booking_flow]` or insert the “Resevu Booking Flow” block. Optional shortcode attributes include `tenant`, `language`, `template`, `terms_url`, and `privacy_url`.

= Does the inline flow store customer details in WordPress? =
No. The browser sends the booking directly to Resevu. WordPress only renders the integration.

= Why does the widget say that the domain is not allowed? =
Copy the website origin from WordPress → Resevu. Add that exact value in the Resevu dashboard under Settings → General → Allowed widget origins. Include the scheme (`https://`) and port when your website uses a non-standard port.

== Changelog ==
= 0.3.1 =
- Route the public `demo` tenant to the dedicated demo API when the inline flow is embedded from WordPress.

= 0.3.0 =
- Added the “Resevu Booking Flow” Gutenberg block and `[resevu_booking_flow]` shortcode.
- Added a responsive inline flow for solo/duo bookings, optional employee preferences, live availability, coupons, consent, price summaries, deposits, and payment redirects.
- Added optional WordPress terms and privacy page links.
- Kept the existing booking button and modal fully backward compatible.

= 0.2.0 =
- Added a native Gutenberg block with tenant, language, and template controls.
- Added the exact WordPress website origin and allowlist instructions to the settings page.
- Added an automated, reproducible ZIP build for website distribution.
- Updated compatibility metadata for WordPress 7.1.

= 0.1.0 =
- Initial scaffold: settings page, shortcode, basic block renderer.
