=== Booking Calendar === Contributors: wpdevelop, oplugins Donate link: https://wpbookingcalendar.com/buy/ Tags: booking calendar, appointment booking, online booking, availability calendar, booking form Requires at least: 5.3 Requires PHP: 5.6 Tested up to: 7.1 Stable tag: 11.6.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html WP Booking Calendar plugin for full-day bookings, time-slot appointments, rentals & events. Accept bookings and inquiries with flexible contact forms == Description == = Booking Calendar - Booking Plugin for Appointments, Reservations, Rentals, Events = **WP Booking Calendar** is a flexible **WordPress booking plugin** for **appointments**, **reservations**, **rentals**, and **events**. Add a responsive **availability calendar** and **booking form** to your website, accept **online bookings**, and manage them from a modern admin panel. Use Booking Calendar for **full-day bookings**, **time-slot appointments**, service scheduling, event registration, **inquiry forms**, **request forms**, or even as a simple multi-step **contact form** with built-in request listing and email notifications. [Features](https://wpbookingcalendar.com/features/ "Features Overview of Booking Calendar") | [See Demos](https://wpbookingcalendar.com/demo/ "Live demos of premium versions") | [FAQ](https://wpbookingcalendar.com/faq/ "Booking Calendar FAQ") | [Get Support](https://wpbookingcalendar.com/support/ "Get support for Booking Calendar plugin") Best for appointments, service scheduling, property rentals, equipment rentals, consultations, classes, events, and availability management. = Key Features = - Accept full-day, appointment, and time-slot bookings. - Display availability and prevent double bookings. - Create customizable booking and inquiry forms. - Manage, approve, decline, and edit bookings in WordPress. - Send email notifications to administrators and customers. - Build multi-step forms with the Drag & Drop Form Builder. - Block unavailable dates and time intervals. - Synchronize bookings using .ics feeds. - Import Google Calendar events. - Use responsive booking forms on desktop and mobile. = Booking Calendar for Different Businesses = Use Booking Calendar for appointment scheduling, service reservations, property and equipment rentals, consultations, classes, events, and other availability-based bookings. Booking Calendar Free includes the essential tools for displaying availability, accepting booking requests, preventing double bookings, sending notifications, and managing reservations in WordPress. Paid editions add multiple booking resources, online payments, seasonal pricing, advanced availability rules, availability search, and MultiUser administration. = Full-Day Booking Process in Booking Calendar Free = Let visitors complete a full-day property booking through a clear two-step flow. Customers select a property, review available, booked, and pending dates, choose their check-in and check-out dates, enter their contact details, and submit the booking request. The confirmation displays the complete booking summary and provides an option to add the selected dates to Google Calendar. https://www.youtube.com/watch?v=bp3lZ5Dnxns = Appointment Booking with Services and Providers = Let visitors book appointments through a simple step-by-step flow. Customers choose a Service and an available Provider, select a date and start time, enter their contact details, and submit the booking. The confirmation displays the complete appointment details and provides an option to add the appointment to Google Calendar. https://www.youtube.com/watch?v=0lwrMgXaHkk == Installation == Installing the plugin is easy. Just follow one of the following methods: = Install Booking Calendar from within WordPress = 1. Visit the plugins page within your dashboard and select ‘Add New’ 2. Search for "Booking Calendar by oplugins" 3. Activate Booking Calendar from your Plugins page 4. You're done! = Install Booking Calendar Manually = 1. From the dashboard of your site, navigate to Plugins --> Add New. 2. Select the Upload option and hit "Choose File." 3. When the popup appears select the booking.zip or booking-x.x.zip file from your desktop. (The 'x.x' will change depending on the current version number). 4. Follow the on-screen instructions and wait as the upload completes. 5. When it's finished, activate the plugin via the prompt. A message will show confirming activation was successful. That's it! Just configure your settings and [insert booking form shortcode](https://wpbookingcalendar.com/faq/insert-booking-calendar-into-page/ ) into a page, and you're on your way to receive the bookings. Need help getting things started? Check out our [FAQ](https://wpbookingcalendar.com/faq/) and [video guides](https://wpbookingcalendar.com/help/) for help with settings and features. == Frequently Asked Questions == Please see [FAQ](https://wpbookingcalendar.com/faq/). = Booking Calendar is great for = Whether you’re renting a property or you’re a sole business owner looking to automate your service bookings, Booking Calendar can help you. - Resource scheduling (bed & breakfast, houses, apartments, etc.) - Client scheduling (photographers, lawyers, beauty salons, spas, etc.) - Meeting scheduling (coaching, phone advice) - Patient scheduling (doctor, dentists, clinic, medical) - Equipment rentals (yachts, boats, cars, bikes, technics, etc.) - Event scheduling (conference, course, fitness center, yoga class, gym) - Or any other service where booking for a specific time is required = How the Booking Process Works = **Step 1: Select your desired date(s)** Customers can select the date(s) they would like to book. The **Booking Calendar** plugin provides an easy-to-use calendar system that displays the availability of your property or service for those dates. **Step 2: Select a time-slot (optional)** If you offer appointments or reservations at specific times, you can configure the booking form to allow customers to select an available time-slot. To learn how to set it up, please [watch this video](https://youtu.be/-pOTMiyp6Q8?t=28s "Video guide how to configure time slots in Booking Calendar Free version"). **Step 3: Fill in Booking Form Fields** The form will ask for information such as your name, contact information, and other details needed to approve the booking. The booking form fields are customizable, allowing you to configure fields required for the booking. **Step 4: Submit your booking and Receive Notification of New Booking** After filling out the booking form, customers can submit the booking. The **Booking Calendar** plugin will notify the administrator about the new booking and send a confirmation email to customers that their booking has been received. **Step 5: Manage Bookings** Administrators can manage all reservations from the modern and easy-to-use admin booking panel. Easily find the required bookings, check the booking details, and modify the booking if needed, then approve or decline this reservation. Customers will receive an email confirmation about the approval or cancellation of their booking. = Simple steps to get started = **1. Add booking form or availability calendar to your page** Easily insert the booking form on any page of your website using WordPress blocks or Booking Calendar widgets for sidebars or configure shortcode block in page builders like Elementor. Read more [here](https://wpbookingcalendar.com/faq/insert-booking-calendar-into-page/ "How to insert the booking form or availability calendar into the page?"). **2. Set initial unavailable days with just few clicks** You can **define days availability** in just 3 mouse clicks at Booking > Availability page. Simply select a range of days on the calendar, choose 'available' or 'unavailable' status, and apply. It’s that simple! **3. Configure booking form, email templates and other settings** Easily **customize** your **booking form** fields and add **[time slots](https://youtu.be/-pOTMiyp6Q8?t=28s "Video guide how to configure time slots in Booking Calendar Free version")** if needed. Configure **email** notifications and other settings such as the **calendar** appearance, booking admin panel functionality, and more... **4. Receive notifications and manage bookings** Get notified about **new appointments** and manage them in a modern admin panel. **Approve**, **decline**, or **edit** specific bookings. Plus, you can get a complete picture of your schedule with the **calendar overview** in **day**, **week**, or **month** view mode. **5. Configure syncing of bookings with other services** Import your **Google Calendar** events or set up **two-way synchronization** of your events by using **.ics feeds** with various services such as Airbnb, Booking.com, VRBO, HomeAway, TripAdvisor, FlipKey, and more... Thanks to native integration with [Booking Manager](https://wordpress.org/plugins/booking-manager/) plugin. = Changeover Multi-Day Bookings - Setup Wizard (Pro) = Configure multi-day bookings with specific check-in and check-out days, clearly marked with diagonal or vertical lines. Perfect for bookings that require split days.
**Available in paid editions**. https://www.youtube.com/watch?v=uCQ9JmHR8w4 = Drag & Drop Booking Form Builder = Create booking forms visually without manually editing complex shortcodes or form code. Simply drag fields from the sidebar, drop them into the canvas, organize them into rows and columns, edit settings in the sidebar, and preview changes instantly. https://www.youtube.com/watch?v=_LRr15mcECE The new builder also makes it easy to create **contact** and **inquiry forms** where the calendar is optional. With the new interface, you can: - drag and drop fields into the form layout, - organize fields into sections and columns, - create multi-step form pages, - resize columns for better layout control, - edit field settings in the right sidebar, - instantly preview the form while building. This new functionality brings a more modern, user-friendly, and flexible way to create forms in Booking Calendar, making form setup faster, clearer, and much more convenient for website owners. = Full-Day Bookings - Drag and Drop Booking Form Builder = Easily configure Booking Calendar for full-day bookings with the new Drag and Drop Booking Form Builder. The new Booking Calendar Form Builder makes it much easier to create flexible booking forms without manually editing form code. It is a simple and visual way to build booking forms for different use cases directly inside WordPress. https://www.youtube.com/watch?v=n_svjKULkc0 = Appointment Forms with Time Slots or Start Time + Service Duration Selection = Create a time-slot booking form in just a few minutes with the new Booking Calendar Form Builder. Visually add the calendar, time fields, and contact fields, adjust the layout, and preview changes instantly — without manually editing form code. https://www.youtube.com/watch?v=0lwrMgXaHkk = Booking Calendar Free Features: = **Time Slots Availability & Fast Admin Booking** Manage unavailable time intervals visually from **Booking Calendar > Availability** or directly from the bookings workflow using the new **Time Slots Availability** popup. Administrators can choose a date range and block or unblock exact time intervals in an interactive timeline. The timeline clearly shows available, booked, unavailable, and full-day unavailable states, making it much easier to understand real availability at a glance. https://www.youtube.com/watch?v=uaLVguJbMP8 Administrators can also create a new booking directly from an available time interval. Simply select an available time slot in the popup, open the booking form with the selected resource, date, start time, and end time already prefilled, and save it as a new booking. This makes Booking Calendar especially useful for appointment scheduling, service bookings, consultations, rentals, and any workflow where administrators need to quickly review availability and create bookings from the WordPress admin panel. **Setup Wizard!** - Easy Time Appointments Configuration for your Bookings - Set up **appointment booking system** in less than 2.5 minutes. Designed with a user-friendly flow, the wizard takes you step-by-step through key settings, including booking type selection, calendar appearance, availability preferences, and more. This step-by-step setup helps you get your booking system ready for your business quickly and easily. https://www.youtube.com/watch?v=GYJWZJBFwXw **Set Days Availability** - Super **easy set available/unavailable dates** in calendar with just three mouse clicks. - In Booking Calendar you can define days as available or unavailable in just a few clicks. Simply select a range of days on the calendar, choose 'available' or 'unavailable' status, and apply. It's that simple! **General** - **Modern** and **easy to use** interface. - The plugin is designed for a vast array of businesses. - 100% mobile-friendly and looks amazing on any device. - Booking details are stored in your WordPress database. You don't need other accounts. - **Multilingual** support. Check all available languages at [this page](https://wordpress.org/plugins/booking/#support%20languages%20%28local%29 "Translations"). **Easy to start using** - Booking Calendar is an easy solution to start receiving bookings. - You can quickly [add the booking calendar](https://wpbookingcalendar.com/faq/insert-booking-calendar-into-page/) to your posts or pages using WordPress blocks or shortcodes. Additionally, you can add the booking calendar as a widget to your site's sidebar. - Most of the settings come with predefined values and descriptions. **Bookings** - **Prevention of double bookings** - one booking per day or time slot. - Alternatively, you can allow **unlimited bookings for the same date** and time within the same calendar. - You can enable **pending bookings as available** in the calendar, which lets you receive multiple bookings for the same date until you manually approve one of them. You can receive as many bookings as you need to and stop receiving bookings on specific dates once you have approved a booking. **Time-Slot Bookings** - [Time slot bookings](https://youtu.be/-pOTMiyp6Q8?t=28s "Video guide how to configure time slots in Booking Calendar Free version") are available in the Booking Calendar Free version, which allows you to receive bookings for available time-slots during a selected day. Customers can select time slots either in a time picker or from a dropdown list, depending on your settings at Settings General page in "Time Slots" section. **Calendar** Select a **calendar skin** that matches your website design.
Or customize the calendar colors by [editing the CSS](https://wpbookingcalendar.com/faq/change-skin-and-colors/) styles.
Choose to display [one or several months](https://wpbookingcalendar.com/faq/shortcode-booking-form/#booking-options) in the calendar view.
Easily set the width of the calendar and the number of months in a row, such as [3x2 months](https://wpbookingcalendar.com/faq/shortcode-booking-form/#booking-options).
Choose between **single** day or **multiple days** selection mode.
Set the number of unavailable days in the calendar, starting from today.
Specify particular weekdays as unavailable.
Show a legend on the calendar to help visitors understand the status of each day.
**Booking Form** Easily customize your booking form fields to capture all the necessary information for each booking. Choose which fields are required and which are optional, and customize field labels as needed. Plus, the booking form includes **CAPTCHA** support to prevent spam submissions. **Timeline** [Timeline view](https://wpbookingcalendar.com/faq/shortcode-timeline/) allows you to display all your bookings in a yearly, monthly, or daily view on the front-end of your website, giving your visitors a quick and comprehensive overview of your schedule. **Booking Admin Panel** - Easily manage your bookings with a modern and clear [Booking Listing](https://ps.w.org/booking/assets/screenshot-03.gif?rev=2870020) panel or with the intuitive [Calendar Overview](https://ps.w.org/booking/assets/screenshot-04.png?rev=2870020) mode. - The [Booking Listing](https://ps.w.org/booking/assets/screenshot-03.gif?rev=2870020) makes it very simple to find the required reservations. It provides searching by different criteria and immediate results based on keywords. - Get a complete picture of your schedule with the [Calendar Overview](https://ps.w.org/booking/assets/screenshot-04.png?rev=2870020) in **day**, **week**, or **month** view mode. - **Approve**, **decline**, or **edit details** in required bookings. - **Print** a list of your bookings. - Get the number of new bookings on the **booking dashboard section**. **Google Calendar Integration** - [Import events](https://wpbookingcalendar.com/faq/import-gc-events/) from your **Google Calendar** to the Booking Calendar plugin. - With just one click, **add bookings to Google Calendar** from the Booking Listing page using export button near each booking(s). **Sync bookings** - Easily **import and export** events using .ics feeds or files with native integration with our [Booking Manager](https://wordpress.org/plugins/booking-manager/) plugin. - **[Import events](https://wpbookingcalendar.com/faq/#sync)** from various sources, such as Airbnb, Booking.com, HomeAway, TripAdvisor, VRBO, FlipKey, and any other calendar that uses the .ics format. - Customize parameters such as date conditions and maximum number of items to import in the import [shortcodes](https://oplugins.com/plugins/wp-booking-manager/booking-manager-help/#events-import). - **[Export bookings](https://wpbookingcalendar.com/faq/#sync)** by configuring custom URL for your.ics feed. This feed can then be imported into services that use the .ics (iCal) format, such as Google Calendar or Airbnb, etc... **Email Notifications** Configure email confirmation to be sent to the site administrator and visitors for specific booking actions, such as new booking creation, approval or decline of bookings. You can customize the content and format of the emails, and also change the administrator email address to receive notifications. **Other settings** Customizable **date format** for your bookings.
**Two-click range selection** for choosing any continuous range of available booking dates.
**Restriction of access** to plugin menus for standard WordPress user roles.

And **much more**... Explore more features in [premium versions](https://wpbookingcalendar.com/features/ "Booking Calendar Features list") of plugin. = Premium Features in paid versions = **Booking Calendar Personal (or higher versions)** - [Multiple booking resources (calendars)](https://wpbookingcalendar.com/features/#booking-resources) - create an unlimited number of booking resources (calendars), which can be your services, properties, or any other items that can be booked by visitors in separate unique calendars. - [Advanced configuration of booking form and emails](https://wpbookingcalendar.com/features/#booking-form) - fully customize the appearance of your booking form and email templates. - [Manage bookings](https://wpbookingcalendar.com/features/#manage-bookings) - perform various actions such as CSV export, adding notes, editing, duplicating, changing resources, and much more... **Booking Calendar Business Small (or higher versions)** - [Online Payments](https://wpbookingcalendar.com/features/#payments) - accept online payments for your bookings, with support for various payment gateways like **Stripe, PayPal, Authorize.Net, Redsys**, and more. - [Changeover Days](https://wpbookingcalendar.com/features/#change-over-days) - enable **split bookings** marked by vertical or diagonal lines, allowing visitors to check out and check in on the same date. - [Advanced range selection rules](https://wpbookingcalendar.com/features/#range-days-selection) - enable fixed ranges with one click, configure minimum and maximum lengths or specific permitted lengths, and restrict range starts to selected weekdays. - [Auto Approval / Cancellation](https://wpbookingcalendar.com/features/#auto-cancellation) - set up automatic cancellation of unpaid pending bookings after a specific time, or enable auto-approval for incoming bookings. - [Advanced Hourly Bookings](https://wpbookingcalendar.com/features/#times) - increase the flexibility of your Booking Calendar by allowing visitors to book specific start and end times or duration of time, ensuring precise scheduling for your services. **Booking Calendar Business Medium (or higher versions)** - [Seasonal Prices](https://wpbookingcalendar.com/features/#rates) - customize the daily cost (rates) for different seasons or week days with fixed costs per day or as a percentage from original daily cost. - [Multi-Day Pricing](https://wpbookingcalendar.com/features/#valuation-days) - set different cost of booking based on the number of selected days, and the ability to apply these costs only if the "Check In" day falls within a specific season. - [Last Minute Booking Discount](https://wpbookingcalendar.com/features/#early-late-discounts) - offer a discount for bookings, if the difference between the booking date and the check-in date is less than a specified number of days. - [Early Booking Discounts](https://wpbookingcalendar.com/features/#early-late-discounts) - set a discount for bookings made in advance, if the difference between the booking date and the check-in date is greater than a specified number of days. - [Advanced cost](https://wpbookingcalendar.com/features/#additional-cost) - configure the booking cost based on the options selected in the form, by adding extra charges such as taxes, additional services, or by adjusting the cost based on the number of visitors. - [Deposit payments](https://wpbookingcalendar.com/features/#deposit) - allows visitors to pay a part of the booking cost such as a fixed deposit value or percentage of the original booking cost after creating a booking. - [Multiple Custom Forms](https://wpbookingcalendar.com/features/#custom-forms) - create multiple form configurations, allowing you to use different forms with different form fields for each of your booking resources. - [Advanced days selection](https://wpbookingcalendar.com/features/#advanced-days-selection) - customize the specific number of days that can be selected on specific weekdays or during certain seasons or allow specific start week days on certain season. - [Different time-slots on different days](https://wpbookingcalendar.com/features/#times-week-days) - configure different time slots for different week days or seasons. - [Advanced Season Availability](https://wpbookingcalendar.com/features/#availability) - set unavailable days for specific seasons, such as holidays or weekends during summer, using conditional season filters. - [Availability from Today](https://wpbookingcalendar.com/features/#availability-from-today) - limit or define the number of available/unavailable days starting from today. - [Unavailable time before or after a booking](https://wpbookingcalendar.com/features/#unavailable-time-after-before-booking) - setting the number of minutes, hours, or days needed for cleaning or other services, applicable to bookings with time slots or change-over days feature. **Booking Calendar Business Large (or higher versions)** - [Capacity and Availability](https://wpbookingcalendar.com/features/#capacity) - set the maximum number of bookings that can be made per full day or time slots in calendar, and ensure that dates in the calendar are only available until the capacity is reached. - [Search Availability](https://wpbookingcalendar.com/features/#search) - allows your website visitors to quickly search for available booking resources such as properties or services by entering check-in/out dates and other criteria like the number of guests or specific amenities. - [Coupons for Discounts](https://wpbookingcalendar.com/features/#coupons) - offer discounts to your visitors by creating coupon codes that can be entered in the booking form. - [Auto-Cancel Pending Bookings](https://wpbookingcalendar.com/features/#pending-available) - enable automatic cancellation of pending bookings for specific dates when you approve booking for the same resource. **Booking Calendar MultiUser version** - [MultiUser Booking Admin Panels](https://wpbookingcalendar.com/features/#multiuser) - enable each registered WordPress user to have their own individual booking admin panel, where they can see and manage only their own bookings, resources, and settings. This includes the ability to configure their own booking form, receive notifications to own separate emails, and activate payment gateways for their own payment accounts. = Privacy Notices = * Booking details are stored in your WordPress database. Booking Calendar does not send or store these booking details on our servers. Optional integrations may send data to external services that you configure. Learn more in our [privacy and booking data documentation](https://wpbookingcalendar.com/faq/where-is-saving-booking-data-gdpr/). * Additionally please note, you can add the "required checkbox" to your booking form at the Booking > Settings > Form page, to accept your terms and conditions. = Support Languages (local) = - Find more about translation stutus on [this page](https://wpbookingcalendar.com/faq/translations-progress/) = Tech support = If you have some questions, which you haven't found at [FAQ](https://wpbookingcalendar.com/faq/) you can post them at [technical help board](https://wpbookingcalendar.com/support/) == Screenshots == 1. **Drag & Drop Booking Form Builder**: Create booking forms visually without manually editing complex shortcodes or form codes. 2. **Full-Day Booking** Process in Booking Calendar Free. 3. **Time-Slot Bookings**: This screenshot displays the front-end booking form. It allows users to select **single day** in the calendar and **times** (time-slots or start time and duration of service) in the booking form. 4. **Book an Appointment**: See how customers can quickly book an appointment for a specific service. 5. **Booking Listing**: You can easily manage all your bookings in one place by searching bookings by keyword, dates, status, and other parameters. 6. **Booking Listing** panel provides a smooth user experience by working instantly without page refresh. 7. **Timeline View**: Get a clear overview of all your bookings. 8. **Calendar Availability**: Super easily set available or unavailable dates in the calendar with just 3 mouse clicks. == Changelog == = 11.6.1 = * **New**: Added responsive Grid and List Service and Provider catalogs to `[booking_appointment]`, with search, configurable card details, item sizing, and per-row controls. * **Improvement**: Added the selected Service picture to the Appointment summary above the Booking Form, with responsive text-only fallback when images are hidden or unavailable. * **Fix**: Restored Check-in, Check-out, and Days hint updates in Booking Forms loaded through the `[booking_resource_selector]` workflow. = 11.6 = - Changes in **all** versions: * **New**: Redesigned the **Booking Resources** catalog with fast search, filtering, sorting, pagination, saved views, and customizable columns. * **New**: Added responsive **Default, Compact, and Cards** layouts to the Booking Resources catalog, with the same authorized information and management actions in every layout. * **New**: Added Booking Resource titles, photos, and descriptions, with image placeholders and tooltips for shortened text. * **New**: Free version users can now edit and publish the single included Booking Resource directly from the catalog. Additional Resources require a paid version. * **New**: Added row selection, inline editing, a right-side Resource editor, and expandable details with booking, publishing, pricing, structure, ownership, and availability tools. * **New**: Added responsive Grid and List Resource Catalog layouts to `[booking_resource_selector]`, with search and configurable images, descriptions, hierarchy, availability, and price summaries. * **Improvement**: Redesigned the **Services** catalog with Default, Compact, and Cards layouts, customizable columns, row selection, inline editing, a right-side editor, and reviewed bulk changes for supported fields. * **Improvement**: Added reviewed permanent deletion for Services, including explicit confirmation, Provider-assignment impact, safe blocking for existing Appointments or saved Appointment page references, and authorized links to resolve those blockers. * **Improvement**: Standardized safe inline and bulk field definitions and the before-and-after review experience across Booking Resources, Services, and Seasons. * **Improvement**: Standardized catalog Inspector badges so edit forms identify the exact Booking Resource, Service, or Season ID while create forms remain clearly marked as new. * **Compatibility**: Expanded **Use legacy catalog pages** into one rollback setting for administration catalogs upgraded in 11.6, while retaining the previous Resources support override as a compatibility alias. * **Improvement**: Season links now follow the selected catalog mode: legacy tabs are available only in legacy mode, while new mode provides the native Seasons catalog in WordPress and as a dedicated Booking Calendar navigation group between Pricing and Settings. * **Improvement**: Updated the Setup Wizard publishing step to open the active Booking Resources workflow and its Shortcode and publishing tools. * **Improvement**: Added a clearer full-day Form Builder template with inline check-in, check-out, and day-count hints, and made it the starting Standard form on new Booking Calendar Free installations. * **Improvement**: Added clearer edition guidance, charging-period labels, keyboard navigation, mobile and RTL support, and horizontal scrolling for wide tables. * **Compatibility**: Made the new Booking Resources catalog the default on compatible installations while temporarily retaining the legacy page for explicitly configured sites and older Pro versions. * **Security**: Added server-side permission, ownership, edition, and stale-review checks for Booking Resource changes. * **Fix**: Fixed no-calendar contact form submissions incorrectly resolving the booking resource as ID `0` and failing with a "Wrong ID of booking resource" error. * **Fix**: Prevented WooCommerce admin-access redirects from intercepting the public Booking Calendar calendar-loading and booking-creation AJAX actions on affected server configurations, without changing access to WordPress administration screens or protected AJAX actions. * **Improvement**: Added frontend validation for calendar-loading and booking-creation AJAX responses. Unexpected HTML, redirects, malformed data, and failed requests now stop loading indicators and show a safe error message instead of injecting returned page content into the booking form. * **Improvement**: Added structured browser-console diagnostics for unexpected Booking Calendar AJAX responses, including the AJAX action, HTTP status, content type, error details, and original response to simplify conflict and server-error troubleshooting. * **Security**: Prevented public requests from enabling past-date bookings through client-controlled `allow_past` values or Referer URLs. Intentional historical `calendar_dates_start` shortcodes remain supported through a signed context bound to the Booking Resource, Booking Form, aggregate resources, and exact date range. Thanks to sungbyeonchan for independently reporting this issue. * **Security**: Restricted Add Booking time overrides to authenticated administrators with booking permissions, preventing public booking requests from replacing configured Booking Form start and end times while preserving authorized administration workflows and availability validation. Thanks to sungbyeonchan for responsibly reporting this issue. * **Fix**: Preserved the default `standard` Booking Form when `form_type` is omitted from a Classic `[booking]` shortcode, while retaining strict signed-context validation for explicitly selected custom Booking Forms. * **Fix**: Restored Booking Calendar block shortcode insertion and preview updates in WordPress 7.0.4 and newer editors by preventing stale editor input from reverting the configured shortcode, while retaining legacy block recovery and visible configuration for newly inserted empty blocks. * **Support**: WordPress 7.1 - Changes in **Personal / Business Small / Business Medium / Business Large / MultiUser** versions: * **New**: Added guided creation of one or multiple Booking Resources, with quantity, edition-limit, and batch validation. * **New**: Added advanced editing for Base cost in Business Small and higher, Default Form in Business Medium and higher, parent and Priority in Business Large and higher, and authorized Resource ownership in MultiUser. * **New**: Added reviewed bulk editing for Base cost, Default Form, Priority, and authorized ownership, including relative and progressive Priority changes with a per-Resource preview. * **New**: Added reviewed single and bulk deletion with booking-count warnings, authorized links to affected bookings, and parent/child validation. Existing bookings are retained when their Booking Resource is deleted. * **New**: Added Business Large parent/child groups with expandable tree rows and hierarchy-aware pagination, searching, and sorting. * **New**: Added Business Large **Adjust capacity** tools. Increasing capacity creates inherited child Resources; decreasing capacity can detach selected children or permanently delete them after review. * **New**: Added Availability and Search details and controls. Business Medium and higher can update default day availability, while Business Large can update Search Availability visibility. * **Improvement**: Capacity now reflects the parent and its child Resource calendars instead of the Maximum visitors setting. - Changes in **Business Medium / Business Large / MultiUser** versions: * **New**: Added a native **Seasons** catalog with selectable rows, accessible shortened-text tooltips, readable stored-rule definitions, a reorderable Compact table, responsive Cards, complete month patterns, immediate-clear search with restored focus, sorting, filters, pagination, customizable columns, initial URL overrides, and isolated per-user/site preferences across Default, Compact, and Cards layouts, while preserving the existing Season editing pages. * **Improvement**: Expanded development verification for the Seasons catalog with authenticated route and authorization checks, malformed-request and data-only response contracts, stale-review protection, accessibility and responsive behavior checks, multisite and MultiUser isolation assertions, deletion-reference coverage, and query diagnostics. * **Improvement**: Optimized Seasons catalog loading and reviewed batch operations with bounded reference reads, batched Season lookups, and cached owner resolution to avoid per-row query growth as catalogs expand. * **New**: Added reviewed inline and bulk editing for safe Season titles, with Shift-selection, sticky draft status, field-safety intersection, detailed reference warnings, stale-review protection, retained selection, and changed-row highlighting. * **New**: Added a native right-side Season editor with an explicit Conditional or Specific-dates selector, per-Season color picker, sticky actions, dirty-state protection, server validation, stale-change rejection, and authorized MultiUser ownership controls. * **Security**: Hardened Season creation, editing, reviewed title batches, and deletion with service-level authorization, transaction-first writes, verified restoration on storage failures, and apply-time stale-state checks. * **Security**: Enforced exact MultiUser Season ownership across listing, inspectors, inline and bulk changes, and deletion, with safe handling and administrator repair of missing or malformed owners. * **Compatibility**: Improved multisite MultiUser upgrades by detecting and repairing missing site-local ownership columns independently for Resources, Seasons, and Coupons. * **Improvement**: Added reviewed single and bulk Season deletion that reports affected pricing, availability, deposit, booking-rule, form, and shortcode consumers, provides authorized links to their owning configuration, and blocks referenced Seasons without rewriting related configuration. * **Improvement**: Standardized permanent-deletion reviews for Booking Resources, Services, and Seasons with consistent destructive controls, explicit acknowledgment, authorized links to affected configuration or records, and disabled actions for blocked or unconfirmed deletion. * **Improvement**: Redesigned Conditional Season editing with guided weekday, day, month, and year steps, quick day presets, flexible year labels, readable validation, and a live twelve-month matching-date preview. * **Improvement**: Added Select all and Clear shortcuts to the Conditional Season Months step, matching the Weekdays controls. * **Improvement**: Replaced manual Specific-date entry with the standard Booking Calendar twelve-month datepicker for direct date selection in the Season editor. * **Improvement**: Added Sun–Sat and Clear shortcuts for selecting or removing matching Specific-date Season dates in the currently visible twelve-month calendar. * **Improvement**: Standardized immediate right-inspector loading feedback across Booking Resources, Services, and Seasons review workflows. * **Improvement**: Grouped the Conditional Season rule summary and twelve-month preview together in a desktop-sticky overview at the top of the editor before the selectable rule steps. * **Improvement**: Streamlined Add Season with direct Season-name focus, radio type choices, an available color suggestion, and ready-to-use Conditional defaults covering every day in the current and next year. * **Improvement**: Added a Clear link to Conditional Season day-of-month editing without changing weekday, month, or year selections. - Find more at [this page](https://wpbookingcalendar.com/changelog/) == Upgrade Notice == = 11.6 = Introduces redesigned Booking Resources, Services, and paid Seasons catalogs; Resource titles, photos and descriptions; frontend Resource Catalog layouts; reviewed inline and bulk editing; and Business Large hierarchy and capacity tools. Existing Booking Resource and Season data remains compatible. = 11.5.1 = Hardens public booking creation against client-controlled past-date and administrator time-override parameters, while preserving signed historical shortcode ranges and authorized Add Booking workflows. = 11.5 = Introduces Services, Appointment and resource-first booking flows, Classic/Appointment/Rental administration modes, a mode-aware Setup Wizard, repeat-safe QuickStart guidance, dedicated Add Appointment administration, and the redesigned Add Booking inspector. Existing bookings and Booking Resources remain authoritative. = 11.4.4 = Added custom accent colors and matching time-slot/form styles, redesigned Add Booking with temporary date-selection controls, and strengthened Timeline and customer booking-list access. = 11.4 = Added global Booking Form Styles, two-click date-range selection in Free and higher editions, centralized multilingual Form Messages, and a streamlined Booking Form Builder migration and setup workflow. = 11.3 = Added new visual Settings > Calendar and Settings > Appearance / Theme pages with live previews, moved capacity rules to Resources, and improved admin navigation, setup flow, and preview behavior. = 11.2 = Redesigned Setup Wizard with a floating Setup Bar that guides configuration across the relevant admin pages. Adds front-end popup booking forms via [booking resource_id=1 popup=1] and [booking_popup], and other improvements... = 11.1 = Added Working Time settings to Availability > General Availability, allowing administrators to restrict time-based bookings to specific working hours. = 11.0 = Added Time Slots Availability and General Availability tools for more precise availability management. Administrators can block or unblock exact time intervals from the Availability page or bookings workflow, review booked and unavailable states in an interactive timeline, and create new bookings from selected available intervals with resource, date, and time prefilled. Also includes a faster Add Booking popup and availability accuracy fixes. = 10.15 = New **Drag & Drop Booking Form Builder** for visually creating booking, contact, and inquiry forms. Build forms faster with live preview, templates, multi-page layouts, and flexible visual editing — without manually editing form code.