== Changelog ==

= 1.7.1 - 18 July 2026 =
* Fixed: Changing the site currency while a booking cart was open could break the checkout — the cart now resets cleanly to the new currency.
* Fixed: Mobile styling glitches — a stray border on the last search field and an overflow issue in the accommodation offer block.

= 1.7.0 - 9 July 2026 =
* New: Search-first booking flow — the widget now opens with a date & guest search step and only loads offers once real dates are known, instead of showing a default availability guess.
* New: Standalone search form — a Gutenberg block and an Elementor widget let you place the date & guest picker anywhere on your site, not just inside the booking modal.
* New: Guest-refined search — filtering by number of adults and children now returns accurate, correctly-priced availability instead of an empty result.
* New: [Pro] Children occupancy support can be turned on or off in Settings, with a configurable maximum number of children per booking.
* New: Appearance settings tab merges the previous Magic Button and Widget Appearance tabs.
* New: [Pro] Calendar controls in Appearance settings — minimum nights, default guest count, and whether unavailable dates are shown.
* New: Promo codes entered in the widget are now carried through to the cart and checkout instead of being dropped.
* Improved: Booking widget interface refreshed — sticky mobile header, loading skeletons, redesigned rate plan cards with pagination, and clearer amenity/capacity information.
* Improved: [Pro] Unavailable-dates lookups are cached and deduplicated, making the calendar feel faster.
* Fixed: Accommodation types with no priced rate plan for the selected dates are now shown instead of disappearing from results.
* Fixed: Rate plan pricing no longer undercounts guest allocation when combining placements.
* Fixed: Various booking widget and search widget issues on mobile — crashes, guest wording, alignment and styling glitches.

= 1.6.1 - 4 June 2026 =
* New: Per-widget language setting — each booking widget instance can now display in a different language, independently of the site language.
* New: WP.org community translations are now used as the primary source for ru_RU and pl_PL locales.
* Improved: Russian (ru_RU) and Polish (pl_PL) translations extended and refined with all strings added in 1.6.0.
* Improved: Cancellation policy messages now display in the widget's configured language rather than the site language.
* Fixed: Booking widget button and lightbox navigation no longer inherit conflicting global button styles from Elementor or active themes.
* Fixed: Plural forms (Night/Nights) corrected in the Stripe checkout builder.
* Fixed: Pro translations now load correctly via the load_translation_file filter.
* Fixed: Various i18n issues — DatePicker plural forms, missing text domains, plural-forms header in merged locale files.

= 1.6.0 - 30 May 2026 =
* New: [Pro] Additional Services (extras) — guests can now select and purchase optional services directly in the booking widget and on the confirmation page.
* New: [Pro] Fees extension for configuring per-reservation service charges independently from tax.
* New: [Pro] Children occupancy support with configurable age-range pricing periods.
* New: Manual "Mark as Paid" action for reservations paid via online gateway.
* New: Payment status sync to detect and recover stuck online gateway payments.
* New: Price breakdown tooltip on accommodation cards showing per-placement cost details.
* Fixed: Price "0" can now be saved in RatePlan calendar cells.
* Fixed: AvailabilityCalendar now refreshes correctly after payment actions are performed.

= 1.5.1 - 23 May 2026 =
* Tested: Confirmed compatibility with WordPress 7.0.

= 1.5.0 - 5 May 2026 =
* New: [Pro] Rate plans can now be hidden from the booking widget — useful for internal or offline-only rates.
* New: Booking widget is now available in separate Free and Pro builds for cleaner integration.
* New: CSS token-based theming for the booking widget, with a theme color picker in plugin settings.
* New: Full Polish (pl_PL) and Russian (ru_RU) translations for all email notification templates.
* Improved: Cancellation policy rule descriptions rewritten for clarity.
* Improved: Updated Polish and Russian UI translations.
* Improved: vis-timeline library is now loaded as an external asset, reducing the Pro admin bundle size.
* Fixed: Email notifications no longer fail when the site language has no translated email templates — the plugin now falls back to English automatically.
* Fixed: Added safety guards to prevent double-loading when both Free and Pro plugin files are present.

= 1.4.3 - 20 April 2026 =
* New: Polish (pl_PL) and Russian (ru_RU) translations added.
* New: Translation support for JavaScript files via TranslationLoader.
* Fixed: Availability incorrectly showed units as bookable when no offers were available (e.g. missing prices or payment types) — availability is now reported as 0 in that case.
* Improved: Freemius UI styles updated.

= 1.4.2 - 14 April 2026 =
* Fixed: Conflict when both Free and Pro versions are active simultaneously — only one instance now initializes, and an admin notice guides you to deactivate the unused version.

= 1.4.1 - 13 April 2026 =
* Fixed: Assets dependencies

= 1.4.0 - 13 April 2026 =
* New Feature: [Pro] Scheduled emails — automatically send a pre-arrival message to guests before check-in and a post-departure thank-you after checkout. Set how many hours in advance each email goes out and write custom content right in the notification settings.
* New Feature: Email preview — check exactly what your guests will see before a single message is sent. A preview link is available directly from the notification settings page.
* New Feature: Notification log — a new admin page showing every email that was sent, is queued, or failed. You can resend any notification with a single click.
* Improved: Each notification now stores a snapshot of its content at the moment it was created, so resending always delivers the right message.
* Improved: [Pro] When a reservation is cancelled or its status changes, any scheduled delayed emails are automatically cancelled so guests don't receive outdated messages.
* Improved: The booking widget now loads available offers automatically when no dates are selected, so guests see something useful right away instead of a blank screen.
* Improved: Email templates are now organized by language, laying the groundwork for proper multilingual email support.
* Fixed: Selecting dates in the calendar could accidentally skip over unavailable days — that's no longer possible.
* Fixed: Setting custom date ranges on rate plan calendars in the admin panel now works correctly.

= 1.3.0 - 8 April 2026 =
* Added: Calendar availability display in the booking widget
* Added: Availability Calendar extension for Pro edition, replacing Quota Manager
* Added: iCal support for Pro edition
* Improved: Stop Sale management mechanism for Pro edition
* Added: Documentation links in the admin panel

= 1.2.0 - 31 March 2026 =
* Improved: Redesigned admin panel for better usability and cleaner interface
* Improved: Added class attributes to modal trigger elements for easier customization
* Fixed: Offers now load correctly when clicking custom trigger elements
* Fixed: Admin nonce now refreshes automatically to prevent expired session errors

= 1.1.1 - 28 March 2026 =
* Fixed: A problem with Notifications when VAT is enabled

= 1.1.0 - 20 March 2026 =
* Improved: Interface behavior (search widget)
* Fixed: Minor bugs

= 1.0.2 - 16 March 2026 =
* Fixed: Onboarding flow

= 1.0.0 =
* Initial release
* Floating booking button and modal widget
* Room setup, pricing, availability, and email notifications
