=== Easy Booking Calendar for WooCommerce ===
Contributors: devnethr, MarinMatosevic
Tags: booking, calendar, reservation, appointments, woocommerce,
Requires PHP: 7.4
Requires at least: 6.4
Stable tag: 1.1.3
Tested up to: 6.9
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Turn any product into a bookable item with an easy-to-use calendar. Supports date ranges, automatic price calculations, and prevents double bookings.

== Description ==

**Easy Booking Calendar** is a lightweight WooCommerce add-on designed for seamless product bookings. With just a few simple options, it’s incredibly easy to configure. This plugin adds a customizable calendar to product pages, allowing customers to select date ranges for bookings. The price is automatically calculated based on the number of selected days. It supports all product types, including simple, variable, and virtual products.

Once booked, dates are automatically reserved to prevent double bookings, with cancellations restoring availability. Ideal for businesses that need a fast, easy-to-use booking solution.

Reserved dates are protected from double bookings, and cancellations automatically restore availability. Perfect for managing bookings with ease!

## Features

- **NEW**: Option to choose between night-based and day-based booking calculations
- **NEW**: Option to allow double bookings (multiple customers can book the same dates)
- **NEW**: Set global booking availability settings
- **NEW**: Availability mode – choose to allow or disable bookable dates
- **NEW**: View booked dates directly in the admin product edit screen
- Any product can be made bookable – no limitations
- Display calendar on bookable product pages
- Calendar localization – support for all languages
- 8 built-in calendar themes
- Multiple date format options
- Option to show calendar only to logged-in users
- Option to disable the quantity field on bookable products
- Customizable button text (e.g., change “Add to Cart” to “Book Now”)
- Dates are automatically reserved when an order is marked Processing or Completed


## Early Development Notice

**Easy Booking Calendar for WooCommerce** is in the early stages of development, and we're committed to enhancing its features over time. We plan to introduce additional functionalities in future updates.

Your feedback is invaluable! If you have specific requirements or suggestions, please feel free to request a feature in the support forum. We appreciate your support and look forward to making Easy Booking Calendar for WooCommerce even better with your input.

### Support

We're here to help. Feel free to open a new thread on the [Support Forum](https://wordpress.org/support/plugin/easy-booking-calendar/).


### Reviews

It's funny how much joy all those 5-star reviews bring to our team. It really keeps us going and motivates us to bring more cool features.
If you like this plugin, feel free to leave a [review](https://wordpress.org/support/plugin/easy-booking-calendar/reviews/#new-post).

## Other Plugins by Devnet

Here are some other plugins we have developed that you might find useful:

- [Free Shipping Label](https://wordpress.org/plugins/free-shipping-label/) - Increase order revenue by showing your customers just how close they are to your free shipping threshold.
- [Product Price History](https://wordpress.org/plugins/product-price-history/) - Track product price history with customizable charts and graphs on your WooCommerce store. Show lowest price and increase customer trust.
- [Price Alerts](https://wordpress.org/plugins/price-alerts/) - Let customers subscribe to price drops and boost sales by notifying interested buyers when product prices fall below their target.
- [Easy Subscribe](https://wordpress.org/plugins/easy-subscribe/) - Effortlessly integrate customizable subscription forms on your WordPress site with a simple shortcode.
- [Easy Booking Calendar](https://wordpress.org/plugins/easy-booking-calendar/) - Turn any product into a reservation-ready item. This plugin adds a customizable calendar to product pages, allowing customers to select date ranges for bookings.
- [BizNotes](https://wordpress.org/plugins/biznotes/) - Exclusive admin notes for seamless order management among multiple admins. Effortless collaboration, powered up.
- [PingVid](https://wordpress.org/plugins/pingvid/) - A lightweight WordPress plugin that adds a floating video widget to your site.
- [Snap Blocks](https://wordpress.org/plugins/snap-blocks/) - A lightweight plugin that lets you create reusable content blocks in WordPress.

== Installation ==

= Installation from within WordPress =

1. Go to **Plugins > Add New**.
2. Search for **Easy Booking Calendar**.
3. Install and activate the Easy Booking Calendar plugin.

= Manual Installation =

1. Upload the `easy-booking-calendar` folder to `/wp-content/plugins/` directory.
2. Go to **Plugins** and activate the Easy Booking Calendar plugin.

= After Activation =

1. Navigate to **Products > Booking Calendar** to configure the plugin.
2. Once set up, enable the calendar on the desired product page.

== Frequently Asked Questions ==

= How do I enable the calendar for a product? =

After setting up the plugin, go to the product page, and enable the booking calendar in the product settings. You’ll find the **Bookable** checkbox right after the product type dropdown. 

= When are dates considered booked? =

Dates are reserved as booked when the order status is either **Processing** or **Completed**. If the order is canceled or fails, the dates will automatically become available for booking again.

= Should I set my bookable product as virtual? =

Yes, it's recommended to set your bookable product as Virtual to avoid unnecessary shipping calculations, as bookings typically don't require physical delivery.

== Screenshots ==

1. Calendar
2. Bookable option
3. Settings page

== Changelog ==

= 1.1.3 =

*2026-01-30*

* Add: Option to choose between night-based and day-based booking calculations
* Tweak: Plugin settings CSS styles

= 1.1.2 =

*2026-01-14*

* Update: Freemius SDK updated to the latest version
* Performance: General codebase cleanup and optimizations
* Tweak: Refined frontend CSS for better theme integration
* Tweak: Enhanced error handling and fallback behavior
* Compatibility: WooCommerce tested up to 10.4
* Compatibility: WordPress tested up to 6.9

= 1.1.1 =

*2025-09-23*

* Fix: Date range no longer added to non-bookable cart items
* Add: Option to allow double bookings (overlapping dates can be booked)
* Add: Order ID stored with each booked date for more reliable tracking and removal
* Update: Freemius SDK updated to the latest version
* Compatibility: Verified with WooCommerce 10.2

= 1.1.0 =

*2025-07-30*

* Add: Global Booking Availability settings
* Add: Max Future Date Allowed
* Add: Availability Mode – choose between allowing or disabling bookings
* Add: Booked Dates section in admin product edit screen
* Update: Improved calendar localization support
* Update: Updated Freemius SDK to the latest version
* Compatibility: Verified with WooCommerce 10.0
* Compatibility: Verified with WordPress 6.8
* Performance: Code optimizations for better plugin efficiency
* Tweak: Admin UI styling

= 1.0.4 =
* Update: Updated Freemius SDK to the latest version

= 1.0.3 =
* Add: Freemius integration

= 1.0.2 =
* Add: Calendar themes
* Add: Option to customize product button text
* Add: Option to disable quantity input on the product page
* Performance: Locale file loader

= 1.0.1 =
* Add: Settings link in plugin actions
* Add: .pot file
* Performance: Load admin assets only on settings pages

= 1.0.0 =
* First Launch