=== NextXen Booking – Booking & Rental System for WooCommerce ===
Contributors:      nextxentech
Tags:              woocommerce, booking, rental, reservation, availability
Requires at least: 6.4
Tested up to:      7.1
Requires PHP:      7.4
Stable tag:        1.5.1
License:           GPLv2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html

A powerful WooCommerce booking and rental plugin. Sell date-based rentals, manage availability, and process bookings — right inside WooCommerce.

== Description ==

**NextXen Booking** adds a dedicated "Rental / Booking" product type to WooCommerce, turning your store into a fully-featured booking and rental system.

**Free Features:**

* Date-based (daily) rental product type
* Product presets for accommodation, item rental, and general reservations
* Configurable check-in/check-out, pickup/return, or custom terminology
* Optional start and end times with configurable intervals and defaults
* Turnaround buffers before and after bookings
* Adult, child, and infant occupancy validation
* Pooled room or item inventory with date-range availability
* Per-day pricing with live price calculation
* Interactive date range picker on the product page
* Real-time availability check via AJAX
* Minimum and maximum rental duration rules
* Advance booking window and last-minute cutoff settings
* Admin-defined blocked date ranges per product
* Automatic date blocking when an order is placed
* Booking dates displayed in cart, checkout, order emails, and admin order screen
* Dedicated NextXen Booking dashboard and admin menu
* Filterable bookings overview with direct order and product links
* Central upcoming availability view
* Consolidated global settings and booking-product navigation
* WooCommerce HPOS (High-Performance Order Storage) compatible
* Extensible via action and filter hooks

**Pro Features (upgrade to NextXen Booking Pro):**

* Hourly and monthly pricing modes
* Seasonal / dynamic date-range pricing
* Weekend surcharge pricing
* Tiered duration discounts (e.g. 10% off for 7+ days)
* Person-based pricing (adults, children, infants)
* Security deposits (fixed or percentage)
* Late-return fee automation
* Damage waiver / insurance add-on option
* Named inventory items (Car #1, Car #2, …)
* Pickup & return locations with location-based pricing
* Resource add-ons (GPS, baby seat, extra driver, …)
* Recurring blackout dates (e.g. every Sunday)
* Step-by-step booking wizard
* Request for Quote (RFQ) system with messaging
* FullCalendar admin booking calendar (month/week/day/list views)
* Customer order cancellation with configurable refund rules
* Extend booking self-service from My Account
* PDF rental agreement attached to confirmation email
* SMS notifications (Twilio)
* Zapier / webhook integration
* Google Calendar two-way sync
* iCal (.ics) export
* Product settings export / import
* Waitlist for fully booked dates
* Revenue & occupancy reporting dashboard
* WPML / Polylang support
* Multi-vendor (Dokan / WCFM) support

[Upgrade to Pro →](https://nextxentech.com/plugins/nextxen-booking-booking-and-rental-system-for-woocommerce/)

== Installation ==

1. Upload the `nextxen-booking` folder to `/wp-content/plugins/` or install via **Plugins → Add New**.
2. Activate the plugin.
3. Make sure WooCommerce is installed and active.
4. Open **NextXen Booking → Booking Products**, add a product, and select the **Rental / Booking** product type.
5. Use **NextXen Booking → Bookings** to manage bookings and **Settings** for global configuration.

== Frequently Asked Questions ==

= Does this work with the latest WooCommerce? =
Yes. The plugin is tested with WooCommerce 9.9 and supports WooCommerce HPOS (High-Performance Order Storage).

= Can I set different prices for different seasons? =
Seasonal pricing is a Pro feature. The free version supports a single per-day rate.

= Can customers book multiple rooms or rental units at once? =
Yes. Configure the number of available units on the booking product. Availability is calculated across overlapping date ranges.

= Can I use this for hotel rooms? =
Yes. Select the Accommodation / Hotel preset, enable guests, configure room inventory and occupancy, and the form will use check-in, check-out, nights, rooms and guest controls.

= Is it compatible with WPML? =
WPML support is included in the Pro version.

= Where can I get support? =
Free support is available via the [WordPress.org support forums](https://wordpress.org/support/plugin/nextxen-booking/). Pro customers get priority email support at [https://nextxentech.com/support/](https://nextxentech.com/support/).

= Where is the documentation? =
Full documentation is at [https://nextxentech.com/docs/nextxen-booking-booking-and-rental-system-for-woocommerce/](https://nextxentech.com/docs/nextxen-booking-booking-and-rental-system-for-woocommerce/)

== Screenshots ==

1. Booking form on the product page with date range picker and live price breakdown.
2. Admin product settings – pricing and availability configuration.
3. Blocked date ranges management per product.
4. WooCommerce order screen showing booking details.
5. Unified NextXen Booking dashboard and bookings overview.

== Changelog ==

= 1.5.1 =
* Fixed booking snapshots being stored with order number #0 before WooCommerce assigned order and item IDs.
* Added automatic repair for previously orphaned booking snapshots.
* Fixed a fatal error when WooCommerce passed shipping or fee items to the booking-details callback.
* Restored order status display for repaired booking records.
* Updated the Extensions page with current Pro features and Freemius-powered upgrade links.
* Hid internal booking metadata from the WooCommerce order item display.

= 1.5.0 =
* Added monthly pricing with partial-month billing.
* Added configurable weekend surcharges and duration discounts.
* Added per-day adult, child, and infant pricing.
* Added fixed or percentage security deposits.
* Added pickup and return locations with optional location fees.
* Added location and pricing-rule snapshots to bookings and WooCommerce order details.

= 1.4.0 =
* Added hourly pricing for time-enabled booking products.
* Added seasonal date-range pricing multipliers.
* Added fixed-price optional booking add-ons.
* Added named rooms, vehicles, and inventory with resource-specific availability.
* Added the `[nextxen_booking_search]` availability-search shortcode.
* Added inventory and add-on snapshots to booking records and WooCommerce orders.

= 1.3.0 =
* Added optional time selection for rentals, accommodation, and general reservations.
* Added configurable default start/end times and 15, 30, or 60-minute intervals.
* Added before/after turnaround buffers to prevent back-to-back booking conflicts.
* Added timezone-aware date/time validation and datetime display throughout cart, checkout, orders, emails, and booking administration.
* Migrated booking snapshots from date-only columns to datetime storage while preserving date-only products.

= 1.2.0 =
* Added accommodation, item-rental, and general-reservation product presets.
* Added configurable booking terminology for dates, duration, units, and booking actions.
* Added guest and occupancy controls for adults, children, and infants.
* Added pooled multi-unit availability for rooms and rentable inventory.
* Added unit-aware pricing and immutable booking-type, guest, unit, and terminology snapshots.

= 1.1.0 =
* Added a dedicated top-level NextXen Booking admin menu and dashboard.
* Consolidated bookings, booking products, availability, settings, extensions, and Freemius navigation.
* Added booking status, product, and pickup-date filters with status summaries.
* Added a central availability overview and dashboard quick actions.
* Added a booking-management capability for administrators and shop managers.
* Added compatibility redirects for the previous WooCommerce menu and settings URLs.
* Added contextual help, documentation links, and responsive administration styling.

= 1.0.1 =
* Confirmed compatibility with WordPress 7.1.
* Updated the Freemius SDK to version 2.13.4.
* Updated Freemius licensing, trial, and admin menu configuration.

= 1.0.0 =
* Initial release.

== External Services ==

This plugin integrates with the following external services:

**Freemius**
The plugin uses the Freemius SDK to manage licensing, plugin updates, and (optionally) anonymous usage analytics. The Freemius SDK may send data to Freemius servers (https://api.freemius.com) when the plugin is activated, deactivated, or updated. This includes non-personally-identifiable technical data such as the plugin version, WordPress version, and PHP version. No data is sent without user consent during the opt-in dialog.

* Service URL: https://freemius.com
* Privacy Policy: https://freemius.com/privacy/
* Terms of Service: https://freemius.com/terms/
