Description
Booking Activities is a complete booking tool designed for activities.
It is very easy to use:
- Drag and drop your activities onto your schedule.
- Copy / Paste a shortcode to display a booking form. Or integrate it with WooCommerce products.
- Pick an event on this calendar and book it.
Try this reservation tool live on the demo website, or generate a temporary site to test the backend!
Video made with v1.1.1. Booking Activities is constantly evolving.
Main features
★ = Unique feature only Booking Activities has.
Editor
- ★ WYSIWYG: Visually build your plannings
- ★ Drag and drop events directly on the calendar
- ★ Group your events to easily sell bundles, subscriptions, seminars, or events spreading on several days
- Create repeated events (with desired frequency and exceptions dates)
- Unlimited calendars, activities, events and bookings.
- Permission management system: your managers manage only their own calendars and reservations. E.g.: You can set up Booking Activities for a marketplace (Booking Activities can only be managed from the backend).
Booking forms
- Fully customizable forms in a WYSIWYG editor
- Shortcodes to display reservation forms or simple calendars
- ★ Display events from multiple schedules and activities at once
- ★ One-click booking: just pick the desired event(s) on the calendar and click on “Book”!
- Custom action when you submit the form or when you click an event: make a reservation, ★ add a product to cart, redirect to a URL
- Pick multiple events and book them all at once / ★ add them all to cart at once
- ★ Seamless login / registration: embedded in the form and processed with the reservation. You can also book without account, or display a login form only with a shortcode.
- 100% responsive: looks great on mobiles, tablets and computers.
- ★ Set any custom fields and any booking metadata thanks to Advanced Forms add-on
Online payments with WooCommerce
- Calendars are automatically integrated to WooCommerce product pages
- ★ Attach multiple calendars and activities to one WC product
- ★ Cart expiration system: bookings in the shopping cart are temporary
- Auto-validation when payment is completed
- ★ WooCommerce order status and its bookings status are smartly bound
- ★ Automatic refunds by WC coupon or via the gateway (if allowed)
Manage reservations
- Find all your bookings at a glance on a calendar and in a list. Use dynamic filters, sorting, and custom columns
- Booking actions: validate, cancel, reschedule, ★ refund…
- ★ Display your customer’s bookings calendar and their booking list with a shortcode
- ★ Your customers can cancel or reschedule their bookings and ask a refund by themselves
- Export your bookings as CSV and iCal feeds and sync them on spreadsheet and calendar apps (e.g.: Google Sheet, Google Calendar)
Availability options
- Set the booking period: customers can’t book too early or too late
- Make your events private or bookable by multiple users
- ★ Set the min and max bookings allowed per user per event
- Offer some activities to certain user roles only
Notifications
- Automatic emails are sent to both administrator and customer when a booking is made, when its state changes, and when it is rescheduled
- Fully customize and configure all your email notifications
- In multilangual sites, emails are sent to your customers in their own language
- Send activity-specific notifications and reminders via email, SMS and ★ Push thanks to Notification Pack add-on
Translation ready
- Multilingual support with WPML and ★ qTranslate-XT (free plugin)
- ★ Auto-detect and switch languages, date/time format, first day of the week…
- Customize most frontend messages directly in the settings
- Fully translated in English and French. You can also help us translating Booking Activities in your language.
The best inside
- API for developers (PHP actions and filters, JS actions). Documentation coming soon.
- Use the beautiful and handy FullCalendar
- Support WP Multisite
- Support WP privacy tools for exporting and erasing your customers personal data
See the whole features list here.
Extend these features with add-ons:
- Resource Availability: Manage your resource availability and assignment
- Advanced Forms: Add any (paid) custom fields to your booking forms
- Display Pack: Customize your calendars or set alternative display (datepicker)
- Prices and Credits: Set per event prices, decreasing prices, price categories (adults, children, etc.), pay with credits
- Notification Pack: Send activity-specific notifications and booking reminders by email, SMS and Push
- Order for Customers: You can book / place an order in the name of your customers
See the whole add-ons list here
This plugin is great for… You?
To know if Booking Activities is made for you, you just need to understand how it works:
- You place events on a calendar
- Customers pick them and book them
If this fits your business then give it a try!
This booking system has been specially designed to fulfill the needs of most activity providers:
- For tourism, sport and leisure (nautical, aerial, land, mountain, foot or wheels, outdoor or indoor…)
- For courses, trainings, exhibitions (education, music, drawing, seminar…)
- For cultural activities (museum, theatre / cinema, booking events…)
- For you too, but you are not in this list? Tell us 🙂
We are listening
You are the developers. You have always been.
Booking Activities has been designed and developed in collaboration with activity providers.
Now it is getting better thanks to you.
Then feel free to tell us if you miss a feature, if you find a bug or anything to make your booking system better!
- Documentation
- Report a bug / Request a feature
- Contact us at contact@booking-activities.fr (French and English)
Requirements
- WordPress: 3.6 or later
- PHP: 5.3 or later
- MySQL: 5.7.22 or later (or MariaDB 10.5.4 or later)
- WooCommerce: 3.x or later
- Booking Activities can be used without WooCommerce
Screenshots
FAQ
-
I am not an activity provider, can this plugin still meet my needs?
-
Yes of course. It is basically a reservation system based on event scheduling. In other words, you build your event calendar and allow them to be booked. You can find another purposes to it.
To know if it actually meets your needs, simply try it, it’s free.
If you are on a hurry, you can just check the demo website.
Or read the full features description if you are looking for something in particular. -
Create and fill your first calendar
-
Create your first calendar
- Go to Booking Activities / Calendar Editor page
- Click on the big ‘+’ button
- Set a title
- In the “Editor” tab, you can set your working hours
- Click on the dialog OK button, the calendar is loading!
Create your first activity
- Click on the ‘+’ button in the ‘Activities’ area
- Set a title, an availability, a color and a duration
- Click on the dialog OK button, the activity is added to the list!
Create your first event
- Drag an activity from the list and drop it on the calendar
- Drag and drop the event to move it
- Mouseover the event and click on its settings wheel to edit its properties
Congrats! You have created your first event schedule
-
Display a reservation form
-
Make sure to have at least one calendar, one activity and one event at a future date
- Go to Booking Activities / Booking forms page
- Select the desired form or create a new one
- Click on the setting gear on the “Calendar” field to set the calendar(s) to display (and many other settings)
- Copy the shortcode given in the “How to integrate this form” area (it looks like
[bookingactivities_form form=""]
) - Past this shortcode in any post or page you like
- Go on this post / page frontend, the booking form appears!
/!\ Reservation forms displayed via shortcode are not bound to WooCommerce at all. If you want to bind a WC product to a calendar, check “Use it with WooCommerce” in this FAQ.
-
Display the calendar only
-
Make sure to have at least one calendar, one activity and one event at a future date
- Go to Booking Activities / Booking forms page
- Select the desired form or create a new one
- Keep the “Calendar” field and remove all the others (like “Login/Register”, “Quantity” and “Submit” fields)
- Copy the shortcode given in the “How to integrate this form” area (it looks like
[bookingactivities_form form=""]
) - Past this shortcode in any post or page you like
- Go on this post / page frontend, the calendar appears alone!
-
Display user’s booking list
-
Make sure the user has bookings and he / she is logged in, otherwise it will not show anything
- Past this shortcode in any post or page you like:
[bookingactivities_list]
- Go on this post / page frontend, the booking list appears!
Depending on BA settings and bookings dates, actions like cancel or reschedule may appear. Try them!
- Past this shortcode in any post or page you like:
-
Use it with WooCommerce
-
Make sure to have at least one booking form with one event available at a future date
You also need to activate WooCommerce and create one product- Go to Products / Your Product
- In ‘Product data’ area, check ‘Activity’, a new ‘Activity’ tab appears
- In ‘Activity’ tab, bind the desired booking form to the product
- Go on this product page on the frontend, a booking form appears!
For Variable Products, you need to check the ‘Activity’ checkbox and set a calendar and an activity for each variation.
-
Does this plugin accept reservation online payments?
-
Yes, you can accept payments for bookings through WooCommerce. Booking Activities is perfectly integrated to WooCommerce:
- Booking forms will appears automatically on product pages
- A cart expiration system is implemented to make sure that bookings in the shopping basket won’t stay in the basket forever, taking the place of someone else
- Bookings are automatically validated when the payment is received, or cancelled if not
- If you change order quantity or state, so do the bookings, and vice versa
-
Should I accept payments for bookings?
-
Here is a pros and cons analysis:
PROS:
- Customers are engaged, if they book, they come.
- Saves time: customers have already paid.
- Customers can come without money, they can offer the activity to a relative
- Automatic cashing, billing, accounting and stats
CONS:
- May discourage customers, depending on the type of activity you provide and your target
- Takes more time for customers, and more diffult process, higher cart abandonment rate
- You will have to do much more development, administrative and legal procedures, and you will have more expenses (bank commission, maintenance …)
We recommend to accept online payments since it’s a great way to automate your business management and make it grow.
-
Events are not “Booked” after booking form submission, they are “Pending”, why?
-
Don’t worry, the reservation is well registered. Now, it is up to you to turn it to “Booked” right away or when your customer comes, or when your customer gives you the money…
But you can just turn the default booking status to “Booked” in Booking Activities settings.
Note that if you use WooCommerce and online payments, booking states turn automatically to “Booked” if the payment is complete, or “Cancelled” if not. -
Cart expires but events are still booked
-
A bot cleans expired bookings hourly. So just wait up to 1 hour.
Usually, users are still on your website when their bookings expire, if so, they are immediatly removed.
Else, they will be cancelled later, with the others in that case. -
My events appear to be booked, but no bookings appear in the list
-
Temporary bookings (such as In cart events) take active slots but may not appear in the booking list.
Go to the “Bookings” page, under the “States” filter select “Delivered”, “Booked”, “Pending” and “In cart”.
Then, just click on “Apply Filters”. Now you can see all kind of active bookings. -
Cancelled bookings disapeared from the list, I need to see them!
-
Go to the “Bookings” page. Under the “States” filter, select all the available status.
Click on “Apply Filters” and then you will be able to see inactive bookings (cancelled, expired, removed, refunded, refund requested). -
Email notifications are not sent
-
If you enabled “Asynchronous email” option in Booking Activities settings (“Notifications” tab), emails will be sent the next time someone (anyone) loads any page of your website.
Then, you only need to refresh or visit any page of your website and then check your inbox.
If you disable “Asynchronous email” option, then the loading will last until the email is actually sent. -
Ask for support
-
We answer within 48h. You can contact us in many ways:
– By email at contact@booking-activities.fr
– On WordPress support forum
– On GitHub issue trackerIf you don’t receive a reply within 48h by email, a technical problem has probably occurred, please try again, or try on an other medium.
Reviews
Contributors & Developers
“Booking Activities” is open source software. The following people have contributed to this plugin.
Contributors“Booking Activities” has been translated into 4 locales. Thank you to the translators for their contributions.
Translate “Booking Activities” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.15.20 – 2024/02/09
- Fix – Improve booking filters sanitizing
1.15.19 – 2024/01/25
- Feature – Add an option to display only the first event of groups (in booking form > Calendar settings)
- Tweak – Add notification tags: {booking_payment_status}, {order_status}, {order_payment_status}
1.15.18 – 2024/01/17
- Tweak – Wait 1 second for the user to complete the quantity input before checking min and max quantity
- Fix – Error when trying to export form events without ending limit (limit to 5 years by default)
1.15.17 – 2024/01/03
- Fix – “Add new” buttons were not translated
- Fix – Compatibility with WC HPOS
- Dev – Use WC_Product methods instead of WP_Post functions to handle product data (not required for HPOS, but more future-proof)
1.15.16 – 2023/12/13
- Fix – Prevent forgotten password notification to be sent twice
- Fix – Filtering bookings by booking group showed bookings from all repeated groups
- Fix – JS error when loading events of a larger scope (e.g. week to month) if “Load events every” option is too low
- Fix – Hide WC “order again” button if the order contains bookings
- Fix – Incorrect iCal formatting in specific server configuration if a multiline text was exported
- Lib – Update FullCalendar to 6.1.10
1.15.15 – 2023/10/18
- Tweak – Do not empty booking form if add to cart failed with WooCommerce
- Tweak – Change booking status icons to one specific icon per status
- Fix – Display error messages on WC cart page after changing quantity
- Fix – JS error when opening the grouped event dialog with the Display Pack’s “Waterfall” booking method
- Dev – Add options and an API to handle price formatting (overriden by WooCommerce)
- Dev – Remove bookacti_onoffswitch function, use bookacti_display_field instead
- Dev – Add js hooks when opening booking dialogs
- Dev – Allow bdi HTML tag in wp_kses_post
- Dev – Refactor notification {price} tag and add {price_raw} tag
- Dev – Refactor Total Price field: it is now refreshed via AJAX (PHP) instead of JS to improve compatibility and accuracy
- Dev – Refactor WC cart item subtotal display
- Lib – Update FullCalendar to 6.1.9
1.15.14 – 2023/06/08
- Fix – Bookings from not allowed calendars may be displayed in backend Bookings calendar after changing the filters
- Fix – Booking forms now use window.location.assign for external redirects, without parameters, to avoid error 405 and error 414
- Fix – Use window.location.assign instead of window.location.replace when it is useful to keep the URL in browser history
- Lib – Update FullCalendar to 6.1.8
1.15.13 – 2023/05/23
- Breaking change – If you have made javascript custom code using Booking Activities’ $.fn.serializeObject function, you must replace it with bookacti_serialize_object( your_form )
- Tweak – Allow to change notifications title
- Dev – Replace homemade $.fn.serializeObject with bookacti_serialize_object() to improve compatibility (especially with the “jquery-serialize-object” script provided in WP)
- Lib – Update FullCalendar to 6.1.7
1.15.12 – 2023/05/04
- Tweak – Add French translation for select2, more translation files can be added in wp-content/languages/select2
- Tweak – Display existing options immediatly in select2 using AJAX
- Fix – Display select2 loading during AJAX search
- Fix – JS error when setting invalid date format in “Go to” date input
- Fix – Remove max height limitation to group categories and groups of events in calendar editor
- Fix – Add a delay when sorting activities, groups and categories to avoid undesired drags in calendar editor
- Fix – Hide WC Payments Google Pay / Apple Pay buttons on “Activity” product pages (it is too early for Booking Activities)
- Dev – Add not_in__status and not_in__payment_status filters to bookacti_get_bookings()
- Lib – Update FullCalendar to 6.1.6
1.15.11 – 2023/04/14
- Feature – Compatible with the new Resource Availability add-on!
- Tweak – Allow to purchase a booking from checkout page after an order failed if the cart item is not removed
- Fix – All activities were displayed if the booking form was configured to display only activities that are restricted to a user role, and if the user was not logged in or doesn’t have this role
- Fix – Cells that should be empty in iCal booking lists may be filled with the column name
- Fix – Display the “Send when order is…” option in all admin status changes notifications settings
- Fix – New booking notifications not sent with WC if the order doesn’t need any payment
- Fix – Temp fix to a WooCommerce issue – Display WC notices after failing to restore a cart item (on cart page up to 10 seconds after the error occured)
- Fix – In bookings filters, when the selectbox is resized, the input goes below the others
- Fix – In the reschedule dialog, the quantity displayed in the event list is always 1
- Fix – Event title not translated in a WC notice (booking already purchased notice)
- Fix – Error message not displayed after closing reschedule dialog once on frontend
- Fix – When filtering bookings in the backend, abort the running AJAX request before starting a new one
- Dev – Add js hook to change the select2 data when initialized
- Dev – Add hooks to validate a change of cart item quantity
- Dev – Add bookacti_wc_after_add_to_cart_validation hook
- Dev – Add parameters in booking system data to allow plugins to flag the events and groups of events as unavailable
- Lib – Update FullCalendar to 6.1.5
1.15.10 – 2023/03/08
- Fix – Booking status was displayed as Pending in paid and complete WC order notification (#186)
- Fix – Do not cancel booking of a “Pending payment” order if they were already paid in another order
- Fix – Error messages no longer displayed after closing the reschedule dialog once
- Dev – Add hooks to change the filters used to retrieve events and their number of bookings in a booking system
- Dev – Wrap SUM sql queries that can be modified by plugins to ensure that joining additional tables will not skew the result
1.15.9 – 2023/03/01
- Fix – Translatable strings may not be registered in the default WPML language
- Dev – Add backward compatibility with MariaDB 10.3
1.15.8 – 2023/02/24
- Breaking change – Requires MySQL 5.7.22 or later, or MariaDB 10.5.4 or later
- Fix – “No events” message not displayed if no availability dates were set
- Fix – Notifications text area was not full width
- Fix – The hook bookacti_booking_deleted may not be triggered after booking group deletion
- Fix – When moving an event backward from calendar editor, its bookings and grouped events were moved at an incorrect date
- Fix – Events may appear twice on variable WC products pages if the booking form “Opening” date is past
- Fix – When adding a product to cart from a booking form shortcode, field validation error messages were incorrectly displayed
- Dev – Flag when the WC order is new to avoid sending the same notifications twice
- Dev – Move the onkeypress attributes from the HTML elements to a js file
- Dev – Rename data-unit attributes to data-duration-unit
- Dev – bookacti_get_booking_groups now retrieves the grouped booking ids
- Lib – Update FullCalendar to 6.1.4
1.15.7 – 2023/01/30
- Tweak – Grouped bookings are now listed in asc order in WC order items and notifications
- Tweak – Add margins to event bookings tooltip on small screens
- Fix – Improve tooltip triggering on touch devices
- Fix – Booking forms shortcode not displayed in booking forms table
- Fix – Error messages were not removed in frontend dialogs
- Fix – Cannot change booking group quantity in WooCommerce cart or order
- Dev – Generate a random id on displayed fields without id
1.15.6 – 2023/01/09
- Fix – Error when switching booking group status to refunded from the backend
- Fix – Calendar navigated to incorrect date when loaded with a picked events
- Fix – Bound products were not correctly displayed in calendar settings in form editor
- Fix – Booking calendar settings dialog was emptied after closed
- Fix – Needed to refresh page to take into account the columns to display in the booking calendar tooltip
- Fix – Activities were not filtered according to selected calendars in bookings filters
- Lib – Update FullCalendar to 6.0.2 (Support for IE 11 has been dropped)
- Lib – Remove Moment JS files and use the files included in WP instead
- Dev – Compare datetimes directly instead of using mySQL UNIX_TIMESTAMP and CONVERT_TZ functions
- Dev – Calendar dates are no longer restricted between 1970-01-01 and 2037-12-31
- Dev – Allow half-bounded intervals when retrieving events and groups
- Dev – Refactor bookacti_validate_booking_form function and hook (rename to bookacti_validate_picked_events and new parameters)
- Dev – Refactor bookacti_validate_booking_form_picked_event hook (rename to bookacti_validate_picked_event and new parameters)
- Dev – bookacti_allow_multiple_bookings hook parameters have changed
- Dev – Add form fields checks and hooks before and after rescheduling a booking (standardize process, like booking form and WC add to cart)
- Dev – Add form fields checks, and do not process bookacti_validate_picked_events twice while adding a WC product to cart from a calendar
- Dev – Standardize the status change functions code between groups and single bookings
1.15.5 – 2022/11/24
- Tweak – Remove useless checkbox column in list tables and standardize CSS
- Tweak – Support YITH WooCommerce Quick View (load booking system in popup)
- Fix – Activity unit name was not displayed
- Fix – Activity unit name was not displayed in the correct order in RTL languages
- Fix – Incorrect display of ID column in backend list table on mobile
- Fix – WC order status may be Completed unexpectedly in some cases involving non-booking products
- Fix – Invalid group ID error may appear in groups of events dialog in calendar editor
- Fix – Group categories “All” option was not selected in form editor calendar settings dialog
- Fix – Possible undesired scroll when closing group selection dialog after navigating the calendar
- Fix – JS error when deleting a group of events with no events, a group category with no groups, and the last calendar
- Dev – Standardize dialogs JS and CSS
- Dev – No longer generate id in html fields (with random number) if not provided
- Dev – Change LONGTEXT to TEXT or MEDIUMTEXT db column definition, and remove useless numeric type attributes
- Dev – Add bookacti_reset_password_notification_callback hook and send WC Reset Password email instead of WP’s (#169)
- Dev – Reset error notices automatically when the dialog is closed (standardize code)
- Dev – Functions triggered on WC product pages only can now be triggered on any page having the “woocommerce” class
- Dev – Standardize the use of nonces (input name = nonce)
1.15.4 – 2022/10/06
- Tweak – Enable the “Today” button even if today’s view is not accessible
- Tweak – Use select2 library for options using selectboxes with multiple values
- Tweak – If the refunded WC order items quantity is not set, try to compute it from the refunded amount
- Fix – Bookings were not refunded when a WC order was totally refunded but whithout selecting the WC order items to refund
- Fix – The displayed booking date didn’t take the timezone into account
- Fix – The current day highlighted on the calendars didn’t take the timezone into account
- Dev – Use WP default strings for Add New, Publish, Update, Edit, Trash, Delete, Retore
- Dev – API to make select2 multiple select sortable
- Dev – Add indexes to relevent database columns to improve performance on large databases
- Dev – Use full version of Select2
1.15.3 – 2022/09/13
- Tweak – Improve display of calendar toolbar when the calendar is narrow
- Fix – Possible JS error with Cache / Optimization plugins
1.15.2 – 2022/09/08
- Tweak – Change the minimum time to display event on next day in DayGrid view (nextDayThreshold) to the value of Day Begin option (slotMinTime)
- Fix – Notification Pack custom notifications not sent with WC if default notifications were configured not to be sent with WC
- Fix – Remove unused code about Bootstrap tooltip that may cause js error
- Dev – Change js and css minification processor to Google Closure Compiler (replace all .min files)
1.15.1 – 2022/09/02
- Fix – JS error when duplicating event (needed to refresh page) (#160)
- Fix – Permissions to calendars didn’t work (#162)
- Fix – JS error if Calendar localization was set to Based on more WP settings (Site Language, Time Format, Week Starts On)
- Fix – Cannot open event settings or select event to group in calendar editor on touch devices
1.15.0 – 2022/08/31
- See the user-friendly release note
- Lib – Update FullCalendar to 5.11.3 (major changes!)
- Lib – Update Moment JS to 2.29.3
- Feature – Calendar locales newly supported: az, bn, cy, eo, hy-am, km, ku, ne, si-lk, sm, ta-in, ug, uz (complete list)
- Tweak – Replace the GIF spinner with a CSS3 spinner
- Tweak – Empty the form fields after adding a booking to cart with WooCommerce
- Tweak – Improve CSS for RTL languages
- Tweak – Events no longer visually overlap on calendar by default, to make events overlap see Display Pack add-on
- Tweak – Few changes to jQuery UI CSS
- Tweak – Display a more specific error message (if available) when login fails
- Tweak – Hide booking forms list if current user cannot manage any calendar
- Tweak – Hide activities filters in Bookings page if only one activity is available
- Fix – Array of values were not properly displayed in bookings exports
- Fix – Prevent to double click the Add to cart button on WC activity product pages
- Fix – PHP error when login and WooCommerce is active (#158)
- Fix – Do not load the backend bookings booking system if it is hidden (#156)
- Fix – Display a default booking form title in WC product edit page selectboxes for untitled forms
- Fix – Database was not updated if Booking Activities was deactivated during the update
- Fix – Display default Terms label if empty
- Fix – Fields required by default were not required when added to form
- Dev – Refactor functions to get and format templates data
1.14.3 – 2022/06/22
- Tweak – Use the default WP From email if the option is empty
- Tweak – Rename the “lang” parameter in bookings export to “locale”
- Fix – Allow commas when formatting arrays for csv and ical exports
- Fix – PHP warning when trying to display user selectbox in bookings page if users were deleted
- Fix – PHP error when refunding a booking
1.14.2 – 2022/06/19
- Tweak – Send email notifications to WC order billing email address instead of user account email address
- Tweak – Change the bookings owner too when updating the WC order owner
- Fix – AJAX error when trying to move a booked event to an earlier date in calendar editor
- Fix – Update the nonces of the frontend booking dialogs via javascript to avoid invalid nonce cache issue
- Fix – Request a refund button appeared in frontend booking lists to administrator for booking groups that were not cancelled
- Dev – Use TipTip library instead of jQuery-UI Tooltip to avoid conflicts with Bootstrap tooltip
- Dev – (Beta) Compatibility with Persistent Object Cache (Memcached, Redis…)
1.14.1 – 2022/06/13
- Fix – Notifications may not be translated according to recipient language with qTranslate-XT
- Dev – Add hooks to change notifications args before they are sent
1.14.0 – 2022/06/08
- See the user-friendly release note
- Compatibility – Support for WPML
- Tweak – Moved the Calendar localization option to the General tab in the settings
- Tweak – Allow Booking Activities to natively work with third-party WC product types (may not work as intended though)
- Fix – WC customer data may not be exported in bookings exports
- Fix – Bookings were not rescheduled when a booked event was resized
- Fix – Bookings were not cancelled when a past single booked event was cancelled
- Fix – Some events may appear twice if Trim empty days option is ON
- Fix – Bookings calendar Day end option value was not properly displayed if overnight
- Fix – Events disapearing on backend bookings calendar after rescheduling a booking
- Fix – WC cart items were not removed if their attached booking was deleted
- Fix – No longer remove commas in CSV export (causing incorrect price formatting)
- Fix – PHP warning when trying to display a booking form with unknown fields
- Fix – JS error may occur when trying to jump to a date in calendar editor
- Fix – JS error may occur when trying to insert a group of events in calendar editor
- Dev – Do not rely on the key parameter of cart item arrays as it can be changed regardless of the real cart item key
- Dev – Use bookacti_get_formatted_booking_events_list() in bookacti_wc_get_item_bookings_events_list_html()
- Dev – Refactor booking form CRUD
1.13.0 – 2022/03/01
- See the user-friendly release note
- Feature – Set up leave periods where no events will be displayed whatsoever (also replaces repeat exceptions)
- Tweak – Assign existing bookings to the account when it is created, and prevent booking without account if the email address exists
- Tweak – Add a confirm box in the “Who can booking this activity?” option in activity and group category settings
- Tweak – Display an error message in admin pannel if Object Cache is used
- Tweak – Change icon to unpick an event
- Fix – PHP error when displaying an order item bound to a deleted booking
- Fix – Form redirect now uses POST method instead of GET to avoid error 414
- Fix – Decode HTML entities in csv exports
- Dev – Add bookacti_logout_redirect_url hook
1.12.9 – 2022/01/10
- Fix – Activities filter not working in booking list
- Fix – Cast to int or float before using abs to prevent PHP error with PHP 8
1.12.8 – 2021/12/20
- Fix – Shop managers may not be allowed to manage calendars and forms since 1.12.7
- Fix – Select2 selectboxes may have incorrect width after reinitialization on WC single product pages
1.12.7 – 2021/12/15
- Tweak – Add {product_id} and {product_title} notification tags (with WooCommerce)
- Fix – Bypass manager checks for shop managers and administrators may not work if performed for non current user
- Dev – Add bookacti_allow_others_booking_changes hook to allow to display action buttons on others’ bookings on frontend
1.12.6 – 2021/12/06
- Tweak – Change the backend ON/OFF switch appearence (supports RTL)
- Fix – Missing space between concatenated texts in picked events list
- Fix – Bookings are cancelled if the WC gateway empties cart after failed payment (non default behaviour, compatibility fix)
- Fix – Select2 dropdown may disappear if click is not held (always display the search box)
- Fix – Activity tab may appear in WC product data even if the activity box was not checked
- Dev – Support third parameter in bookacti_translate_text hook (for qTranslate-XT)
1.12.5 – 2021/10/29
- Fix – JS error if booking form had no submit button
1.12.4 – 2021/10/27
- Feature – Add a “Total price” field, it can be used with WooCommerce, the Prices and Credits add-on or the Advanced Forms add-on only
- Tweak – Add an optional “Remember me” checkbox field in “User data (login / registration)” field settings
- Tweak – Add an optional “Redirect URL” option for the forgotten password link in “User data (login / registration)” field settings (“Login” tab, advanced options) to replace the Forgotten password dialog
- Fix – Site title special characters were not decoded in email notifications subjects
- Fix – Administrator role in multisite installs can now manage everything created in Booking Activities on their own site
- Fix – Form fields display was not properly refreshed in form editor after resetting their options, a page refresh was needed
- Fix – Loading feedback was not displayed if the form action was to redirect to another page
- Fix – Request a refund button appeared in frontend to administrators when it should not
- Fix – On iOS, picked events title may be undefined, if Display Pack add-on tooltip feature was used
- Fix – PHP warning if Site language was not set
1.12.3 – 2021/09/23
- Tweak – Add loading feedbacks after validating booking actions dialogs (change status, quantity, reschedule)
- Tweak – Open new tabs only for external links and exports in backend navigation
- Tweak – Allow read-only access to bookings with the bookacti_manage_bookings capability
- Tweak – Add a line break before displaying events availability in basic views (e.g.: month view)
- Fix – Custom label of the feedback textarea was not displayed in refund dialog
- Fix – Display the option to customize the submit button only if WC is installed in Messages settings, because it needs to be customized for each form
- Dev – Make sure the event background is added before availability div in basic views
- Dev – Set the array_search to strict mode
1.12.2 – 2021/09/08
- Tweak – Disable login button after click
- Tweak – Disable submit button after click when form action is “Add to cart” too
- Tweak – Hide Paypal and Stripe buttons on activity single products pages because the user needs to adds the booking to cart first for a proper working
- Fix – Events were not all loaded if the “Load events every” option was set to a too small number
- Fix – Error messages may not be displayed (if any) after submitting login form
- Fix – Error message not properly formatted when a booking already made is detected in WC cart
- Fix – Incorrect form action when submitting registration form if the form contained duplicated fields (in both booking form and registration form) with Advanced Forms add-on
- Fix – Incorrect number of columns after booking action performed in frontent booking lists having one_row_per_participant parameter active with Advanced Forms add-on
- Dev – Allow other plugins to change all FormData js object before they are sent
1.12.1 – 2021/08/26
- Fix – Issue preventing bookings refunds to work
1.12.0 – 2021/08/23
- See the user-friendly release note
- Breaking change – Remove opening and closing dates from calendar settings in calendar editor
- Breaking change – Remove the archiving tool. You can still find the backups you have made in wp-content/uploads/booking-activities/archives and manually import them with phpMyAdmin.
- Feature – Groups of events can be automatically repeated (like events)
- Feature – Unbind repeated groups of events occurrences
- Feature – Add a button to jump to a specific date in calendar editor
- Tweak – Remove restrictions on event availability and repetition frequency, you can update them regardless of bookings made
- Tweak – WC cart items with a booking attached are no longer removed after a failed payment, so the customer can try again
- Tweak – Add the {booking_ical_url} notification tag and refactor the way booked events are exported
- Tweak – Display links to the Bookings tab on the customer’s WC account dashboard
- Tweak – Display the booking form in full width below the WC product image and description by default (option in Booking Activities > Settings > WooCommerce tab)
- Fix – TinyMCE editor was not loaded in settings dialogs if the Visual view was loaded by default, set the Text tab by default as a workaround
- Fix – The icon to unpick an event span tag was not correctly closed
- Optimization – Groups of events and Bookings numbers are loaded by interval (like events) instead of all at once
- Optimization – Reduce the number of queries to load the calendar editor
- Dev – Display form fields name, type and id in HTML data attributes
- Dev – Allow plugins to change FormData thanks to the js hook bookacti_before_submit_booking_form
- Dev – Breaking change – the wp_bookacti_exceptions table was totally refactored and the API related to exceptions too
- Dev – Refactor the events, activities, group of events and group categories data sanitization when updating them from the calendar editor
- Dev – Move the functions to run once after specific updates to controller-legacy.php
- Dev – Store the activity_id in the wp_bookacti_groups_events table (part of removing dependencies between bookings and events (groups))
1.11.5 – 2021/08/02
- Fix – Invalid key error when exporting bookings on multisite installs
- Fix – Notifications were sent after partial refund in WooCommerce
1.11.4 – 2021/06/28
- Fix – Cannot filter the booking list by customer if the customer has no account
- Fix – Events were not rerendered after a booking is made
1.11.3 – 2021/06/11
- Tweak – Improve feedback when a non-default form action is selected and WC is installed
- Tweak – The WC refund coupon codes are crossed out in the booking lists if they are no longer valid
- Fix – Cannot update event availability to 0
- Fix – Missing js dependencies in backend non Booking Activities screens
- Fix – Reschedule booking form must prevents from selecting multiple events
- Fix – Prevent users from changing quantity beyond selected events’ availability in booking forms
- Fix – Calendars filter in backend bookings page may no longer be taken into account after a few manipulations
1.11.2 – 2021/05/31
- Tweak – Show the active bookings number of the selected status only on calendars showing booked events only
- Tweak – Show the bookings list of the selected user and status only on calendars showing booked events only
- Fix – Fix a bug introduced in 1.11.1 where Bookings page may timeout if WooCommerce is active and has a lot of orders
1.11.1 – 2021/05/24
- Fix – Order data were blank in bookings lists and exports after the 10 first orders
1.11.0 – 2021/05/05
- See the user-friendly release note
- Feature – Repeat events: option to skip n days / weeks / months between each occurrence (e.g.: repeat every 2 days)
- Feature – Repeat events weekly: select the days of the week on which the event should be repeated
- Feature – Repeat events monthly: option to repeat the event on the nth / last day-of-the-week of the month (e.g.: 2nd / last Monday of the month)
- Feature – You can manually reorder activities, group categories and groups of events in calendar editor (by drag and drop)
- Tweak – Support anchor in URLs when the Form action is Redirect to a URL
- Tweak – Add WC billing and shipping data to bookings export columns
- Fix – The booking actions buttons were displayed in WC email when an order item was refunded from the backend WC order page
- Fix – Bookings of WC failed orders may not turn to Booked after a further successful payment
- Fix – Transparent white background was missing on multiple months and flexible basic views (with Display Pack add-on)
- Fix – Events not loaded if Groups only option was active
- Fix – Booking data displayed in WC order item may not be fully translated in multilang sites
- Dev – Improve compatibility with themes by selecting WC input.qty without container class restrictions
- Dev – Store the activity_id and category_id in the bookings (groups) tables (part of removing dependencies between bookings and events (groups))
1.10.1 – 2021/04/09
- Fix – Prevent users from increasing cart item quantity to avoid overbooking when cart expiration is disabled
- Fix – Display the error message if no events are selected when you submit a booking form with a non-default form action
1.10.0 – 2021/03/12
- See the user-friendly release note
- Feature – Automatically reschedule the bookings when you move a booked event in the calendar editor
- Feature – Send a notification to your customers when you move a booked event in the calendar editor
- Feature – Send a notification to your customers when you delete a booked event (or group of events) from the calendar editor
- Feature – Add an option to unbind occurrences of repeated events: Unbind the next occurrences (including the selected one)
- Feature – Add an option to unbind occurrences of repeated events: Unbind each occurrence
- Feature – Allow to change the events start and end dates in a dedicated dialog (drag and drop events alternative)
- Tweak – Only future bookings are cancelled when a group of events or a repeated event is deleted from the calendar editor
- Tweak – Events can now always be resized in the calendar editor. The option to allow resizing per activity has been removed from the activities settings
- Tweak – Add reschedule notifications tags {booking_old_start_raw} and {booking_old_end_raw}
- Fix – Dialogs were disappearing after resizing or when multiple dialogs were open
- Fix – Bookings count was incorrect after unbinding a …