== Changelog ==

= 1.8.3 - 19 August 2026 =
* Fixed: Dates and times no longer shift by a day when the property's timezone differs from the server's or from the guest's browser. This affected the dates guests see on their booking, admin calendars, payment deadlines in emails and the times shown throughout the admin.
* Fixed: [Pro] Availability was judged against the wrong day in some timezones, so an occupied night could be offered for sale while a free one stayed blocked. iCal blocks imported from other channels were affected in the same way.
* Improved: Amounts, dates, month and weekday names in the admin now follow the language of the logged-in user instead of always rendering in English.
* Fixed: Accommodation short codes are now unique on every path that creates them, and the setup wizard no longer hides its back button or leaves price fields empty.

= 1.8.2 - 10 August 2026 =
* New: [Pro] Fees can now be bound to specific accommodation types, so a fee only applies where it's assigned instead of to every accommodation type. Existing fees are unassigned by this update — open each fee and select its accommodation types to keep it applying.
* New: [Pro] Cancellation policies support an optional text template, so the auto-generated rule list can be wrapped in your own wording using {{rules}} and {{checkInTime}} placeholders.
* Fixed: Cart items sharing a rate plan across different offers no longer produce colliding payment-method ids, which could make a label focus the wrong option.
* Fixed: The booking widget's checkbox border is now visible on dark and custom-themed widgets instead of blending into the background.

= 1.8.1 - 3 August 2026 =
* Fixed: [Pro] Deleting a reservation left the nights it occupied blocked for good — the accommodation stopped being offered for those dates even though nothing was booked there anymore.
* Fixed: [Pro] Reactivating the plugin only partly repaired availability counters: dates left without any active booking kept their outdated value. They are now cleared correctly.
* Improved: Reservations that still occupy availability can no longer be deleted from the reservations list — cancel them first so their dates are released. Cancelled, completed, no-show and abandoned cart reservations can be deleted as before.

= 1.8.0 - 29 July 2026 =
* New: [Pro] Promo codes — create discount codes with usage limits and issue tracking, let guests apply them at checkout, and see the discount reflected in the cart, confirmation emails, and admin dashboard.
* Improved: Admin financial summary now shows the pre-discount total alongside each discount line, not just the final total.
* Improved: The booking widget's guests-only title now exposes a ::part() so it can be styled or hidden with external CSS.

= 1.7.2 - 27 July 2026 =
* Improved: The "on the main beds" text on guest-only rate plan titles can now be hidden with custom CSS.
* Fixed: Custom cancellation policies with a single rule could break penalty calculation on checkout/cancellation instead of applying correctly.
* Fixed: Custom cancellation policy rules with an empty or zero value in optional fields (hour cutoffs, percentage, fixed amount, nights) could be silently dropped or miscalculated.
* Fixed: The booking widget's "Expected arrival time" field now reflects the property's configured check-in time instead of a fixed default.

= 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
