=== WebStyle Hotel Booking for WooCommerce ===
Contributors: cnwebstyle
Tags: hotel booking, woocommerce, accommodation, reservation, vacation rental
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 8.0
Requires Plugins: woocommerce
Stable tag: 1.3.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Free hotel booking core for WooCommerce: room availability, direct bookings, manual reservations and practical daily hotel operations.

== Description ==

WebStyle Hotel Booking for WooCommerce gives independent hotels, guest houses, bed and breakfasts, apartments and other accommodation businesses a practical booking core inside WordPress.

Start with Free and keep the same booking foundation as your property grows. Guests can search available rooms, open a room page and complete the reservation through WooCommerce. Staff can add walk-ins, phone bookings, email reservations and bookings received elsewhere, while the same physical room availability stays in one place.

Free does not require a license key, does not expire and is not a limited trial. It is the core booking plugin used on its own and underneath WebStyle Hotel Booking Pro.

= Accept direct bookings with WooCommerce =

* Create room types and individual room units
* Search by check-in, check-out, adults and children
* Show matching rooms with live physical availability
* Open dedicated room pages at the standard `/rooms/<room-slug>/` URL
* Accept stays of up to 14 nights in Free
* Continue reservations through WooCommerce cart, checkout and payment
* Store hotel booking details with the WooCommerce order
* Temporarily hold selected rooms while checkout is in progress
* Use WooCommerce for payment gateways, taxes and order totals

= Keep website, phone and walk-in bookings together =

* Add manual reservations for walk-ins, phone calls and email requests
* Register reservations received through external booking channels
* Save booking source and an external reference
* Block rooms for maintenance, private use or unavailable periods
* Prevent overlapping stays against the physical room inventory
* Search and filter reservations from WordPress admin

= Run practical daily hotel operations =

* Dashboard with arrivals, departures, current stays and upcoming arrivals
* Booking calendar with booked, available and blocked dates
* Combined daily operations overview
* Printable arrival, departure and in-house guest lists
* Guest contact overview linked to booking orders
* Check-in and stay-status handling
* Manual booking workflow for reception and staff

= Configure simple prices and stay charges =

* Base nightly price per room type
* One simple date-based price rule per room type in Free
* One fixed optional extra service per booking
* Simple tourist tax per guest per night
* WooCommerce remains responsible for checkout, taxes, payment and order totals

= Quick setup =

* Guided setup wizard
* Native WordPress room content
* Room search, search-result and room-overview shortcodes
* Room gallery support and a built-in placeholder image
* Dedicated Hotel Booking admin area
* Translation-ready interface using the `wsh-hotel` text domain

= Start Free. Add Pro without rebuilding your hotel =

Free is the booking core. If you later add WebStyle Hotel Booking Pro, keep Free installed and active: Pro extends the same rooms, bookings and availability instead of replacing them with a second booking engine.

Pro is delivered as a separate add-on outside WordPress.org. It adds deeper hotel operations such as advanced pricing, more flexible payment flows, expanded guest and folio tools, cleaning and breakfast workflows, automation and additional integrations.

You can [try WebStyle Hotel Booking Pro free for 30 days](https://web-style.dk/wordpress-plugin/hotel-booking/) before deciding whether the additional workflow is useful for your property.

= Optional Channel Sync =

For properties selling through supported third-party booking platforms, WebStyle Channel Sync is available as a separate add-on for the same Hotel core. Depending on the provider and setup, it can connect room mapping, reservation import, availability/distribution synchronization and channel-specific workflows to the bookings already managed in WordPress.

Channel Sync does not create a separate hotel calendar. Direct, manual and supported channel reservations continue to use the same Hotel booking and availability foundation.

= Compatibility and release testing =

WebStyle Hotel Booking 1.3.0 has been tested on a clean installation with WordPress 7.1 and WooCommerce 11.0.1. The release was also tested as an upgrade from the previous Free structure with existing room data.

The 1.3.0 release specifically verifies that the standard `/rooms/` room URL works after a fresh installation and after upgrade without requiring the user to manually re-save WordPress permalinks.

The plugin declares compatibility with WooCommerce High-Performance Order Storage and Cart/Checkout Blocks. WooCommerce and the active payment gateway remain responsible for their own checkout and payment behavior.

Before accepting real reservations, always complete a test booking, payment, email and cancellation flow with the site's active theme, tax configuration and payment gateway.

= WooCommerce integration =

WooCommerce is required for cart, checkout, payment and order handling.

The plugin stores reservation and availability data in plugin-owned WordPress database tables and links online bookings to WooCommerce orders. WooCommerce remains the source of truth for checkout, payment, taxes and order storage.

= Data, privacy and uninstall behavior =

Depending on the booking, the plugin may store guest contact details, booking notes, stay dates, room assignment, booking source, status and a linked WooCommerce order ID.

The plugin registers data export and erasure callbacks with the WordPress privacy tools. Guest contact details and booking notes can be anonymized while non-personal reservation records are retained. WooCommerce handles its own order and payment data.

When the plugin is uninstalled, plugin-owned database tables, settings and scheduled cleanup events are removed. User-created room posts and WooCommerce orders are preserved.

= Bundled assets =

All bundled images and visual assets are original WebStyle assets and are distributed with the plugin under the plugin license.

= Shortcodes =

* `[cnwshotel_search]` - availability search with dates and guest count
* `[cnwshotel_room_results]` - matching room results after a search
* `[cnwshotel_rooms]` - complete room overview grid

== Installation ==

1. Install and activate WooCommerce.
2. Install WebStyle Hotel Booking for WooCommerce from WordPress.org and activate it.
3. Open **Hotel Booking** in WordPress admin.
4. Run the setup wizard or create the first room manually.
5. Create or select the booking page and add the required booking shortcode(s).
6. Configure WooCommerce checkout, taxes and at least one payment method.
7. Search for the first room from the frontend and open its room page.
8. Complete a full test booking before accepting live reservations.

You do not need to visit **Settings > Permalinks** after installation. Version 1.3.0 manages the standard room rewrite structure when required.

== Frequently Asked Questions ==

= Do I need WooCommerce? =

Yes. WooCommerce is required for cart, checkout, payment, taxes and order handling.

= Is Free a trial or does it expire? =

No. Free is a functional booking core and does not expire. It does not require a paid license key to keep using the included Free features.

= Is the Free plugin usable without Pro? =

Yes. Free provides the core flow for rooms, availability, direct booking, manual reservations, WooCommerce checkout, booking administration, calendar and daily lists.

= If I add Pro later, should I remove Free? =

No. Keep WebStyle Hotel Booking for WooCommerce installed and active. Pro is now an extension of the Free booking core and uses the same room, booking and availability foundation.

= Can I try Pro before buying it? =

Yes. WebStyle Hotel Booking Pro can be tested free for 30 days. Pro is a separate add-on and the Free plugin continues to provide the core booking engine.

= What does Pro add? =

Pro is intended for properties that need more operational depth, including advanced pricing and payment choices, expanded customer and folio workflows, cleaning and breakfast operations, automation and additional integrations.

= What is Channel Sync? =

Channel Sync is an optional separate add-on for supported third-party booking platforms. It connects supported reservation and availability/distribution workflows to the same Hotel core instead of maintaining a second hotel calendar.

= Can I create bookings received outside the website? =

Yes. Free includes manual bookings for walk-ins, phone calls, email requests and external booking channels. You can store the source and an external reference while using the same availability controls as direct website bookings.

= Can I block unavailable dates? =

Yes. You can create blocked dates for maintenance, private use or other periods when a room must not be sold.

= Can staff print arrival and departure lists? =

Yes. Free includes a combined daily overview and separate printable lists for arrivals, departures and guests currently staying at the property.

= How long can a Free booking be? =

A Free booking can contain a stay of up to 14 nights.

= Can guests pay online? =

Yes. The booking continues through WooCommerce, so available payment methods depend on the payment gateways configured on the website.

= Does the plugin work when WooCommerce prices are entered with or without tax? =

WooCommerce remains responsible for tax configuration and order totals. Test the site's actual tax and payment setup before going live, especially when using additional payment or pricing extensions.

= Is the plugin compatible with HPOS and block checkout? =

The plugin declares compatibility with WooCommerce High-Performance Order Storage and Cart/Checkout Blocks. Always test the complete checkout flow with the active theme and payment gateways before going live.

= Can I translate the plugin? =

Yes. User-facing plugin strings use the `wsh-hotel` text domain and are prepared for translation.

= What happens to my data if I uninstall the plugin? =

Plugin-owned booking tables and settings are removed. User-created room posts and WooCommerce orders are preserved.

= Is there a live demo? =

Yes. Use the **Preview** button on the WordPress.org plugin page to open a temporary browser-based demo. The preview uses fictional demo data and does not install anything on your website.

== Screenshots ==

1. Free operations dashboard with arrivals, departures, current stays, upcoming arrivals and quick actions.
2. Booking calendar showing booked, available and blocked dates for the physical room inventory.
3. Manual booking and reservation administration for website, phone, walk-in and external-channel bookings.
4. Printable daily overview with arrival, departure and in-house guest lists.
5. Frontend availability search and room cards with live availability.
6. Dedicated single-room page with dates, guest count, price and booking action.
7. WooCommerce checkout with accommodation dates and booking details attached to the order.
8. Guided setup for creating the first bookable room and connecting the frontend booking page.

== Changelog ==

= 1.3.0 =
* Made Free the canonical booking core used independently and as the required foundation for WebStyle Hotel Booking Pro.
* Fixed the standard `/rooms/<room-slug>/` routing lifecycle so fresh installations and upgrades do not require a manual permalink save before room pages work.
* Preserved existing room, booking and WooCommerce order relationships during the new Free-core architecture transition.
* Added a neutral local Hotel core API and extension hooks so add-ons can reuse room, booking and availability data without internal HTTP requests.
* Kept premium implementations outside the WordPress.org Free package while allowing Pro and other add-ons to extend the same core.
* Regenerated the translation template and standardized the public Hotel plugin naming.
* Verified the Free booking flow on WordPress 7.1 and WooCommerce 11.0.1, including fresh installation, room search, single-room routing, WooCommerce order creation and booked-date availability.

= 1.2.1 =
* Added the guest name directly to the booking overview so staff can identify and check in guests without opening each booking.
* Added a WooCommerce order fallback for older website bookings where the guest name is not stored in the hotel booking row.

= 1.2.0 =
* Updated the public product name to WebStyle Hotel Booking for WooCommerce.
* Added a stronger Free operating core for smaller hotels, guest houses and bed and breakfasts.
* Added manual walk-in, phone, email and external-channel reservations plus blocked dates.
* Added booking source and external-reference fields with server-side availability validation.
* Added a lightweight operations dashboard with clickable daily totals, arrivals, departures, current stays and upcoming arrivals.
* Added a combined printable daily overview plus separate arrival, departure and in-house guest lists.
* Added simple date pricing, one fixed extra service, simple tourist tax and customer overview.
* Added optional adult and child search as room-capacity matching.
* Added direct checkout, WooCommerce booking email details and temporary cart holds.
* Added a server-side 14-night Free stay limit and WordPress privacy exporter/eraser integration.
* Added a WordPress.org Playground preview blueprint with fictional demo data.
* Declared WooCommerce HPOS and Cart/Checkout Blocks compatibility.
* Removed referral-tracking parameters and retained the dedicated Hotel Booking admin menu.

= 1.1.53 =
* Improved the room search, availability display and WooCommerce booking flow.

Older release notes are available in `changelog.txt`.
