Booking Activities

Description

Booking Activities is a complete booking tool designed for activities.
It is very easy to use:

  1. Drag and drop your activities onto your schedule.
  2. Copy / Paste a shortcode to display a booking form. Or integrate it with WooCommerce products.
  3. Pick an event on this calendar and book it.

Try this reservation tool live on the demo website!

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.

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 on the calendar and click on “Book”!
  • Seamless login / registration: embedded in the form and processed with the reservation
  • 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 product pages
  • ★ Attach multiple calendars and activities to one product
  • Cart expiration system: bookings in the shopping cart are temporary
  • Auto-validation when payment is completed
  • ★ Order status and its bookings status are smartly bound
  • ★ Automatic refunds by 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
  • Permission management system: your managers manage only their own calendars and reservations

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 notifications and reminders via email, SMS and ★ Push, and set ★ event-specific messages thanks to Notification Pack add-on

Translation ready

  • Multilingual support with ★ QTranslateX (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 latest version of the beautiful and handy FullCalendar

See the whole features list here.

Extend these features with add-ons:

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:

  1. You place events on a calendar
  2. 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!

Requirements

  • WordPress: 3.6 or later
  • PHP: 5.3 or later
  • MySQL: 5.6 or later
  • WooCommerce: 2.6 or later (deprecated, update to 3.x asap)
  • Booking Activities can be used without WooCommerce

Screenshots

  • Drag and drop to edit. Click to book. Works both with a shortcode and WooCommerce.
  • WYSIWYG calendar editor. Simply drag and drop events. Click on events for additionnal settings (availability, repetition...).
  • Create daily, weekly or monthly repeated events. You can add exception dates to the repetition.
  • Grouping your events is simple: just select multiple events and click on 'Add a group'. Or select an existing group and start editing it right away.
  • Create and customize your booking form. You can combine events and settings of multiple schedules. You can make each form unique.
  • Use a shortcode to display a booking form (or a calendar alone). Your customer can log in or register seamlessly as they book.
  • When a customer clicks on a grouped event, the whole group is selected. If the event is part of several groups, the customer has to choose one from a dialog.
  • Easily bind a reservation form to a WooCommerce product. You can set a different event calendar to each variation.
  • A reservation form appears automatically on desired WooCommerce product pages.
  • WooCommerce cart expiration system: when time is up, bookings are cancelled and cart emptied. You can also disable it.
  • Your bookings are displayed on a calendar and in a list that you can filter, sort and customize. Manage your bookings: change state (cancel, validate), reschedule, refund...
  • Customers also have their bookings list and calendar thanks to a shortcode. They can cancel, reschedule or ask a refund by their own (if you allow them).
  • Your customers can manage their bookings from their WooCommerce orders as well.
  • Orders status are bound to their bookings status. If bookings are cancelled / booked / refunded, so do the order (and vice-versa).
  • Email notifications are automatically sent to the customer or the administrator when they need to be informed of a change.
  • Make your emails look just like you want thanks to the HTML editor and special tags. You can also choose to deactivate a notification.

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

  1. Go to Booking Activities / Calendar Editor page
  2. Click on the big ‘+’ button
  3. Set a title, an opening date and a closing date
  4. In the “Agenda” tab, you can also set your working hours
  5. Click on the dialog OK button, the calendar is loading!

Create your first activity

  1. Click on the ‘+’ button in the ‘Activities’ area
  2. Set a title, an availability amount, a color and a duration
  3. Click on the dialog OK button, the activity is added to the list!

Create your first event

  1. Drag an activity from the list and drop it on the calendar
  2. Drag and drop the event to move it
  3. 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

  1. Go to Booking Activities / Booking forms page
  2. Select the desired form or create a new one
  3. Click on the setting gear on the “Calendar” field to set the calendar(s) to display (and many other settings)
  4. Copy the shortcode given in the “How to integrate this form” area (it looks like [bookingactivities_form form=""])
  5. Past this shortcode in any post or page you like
  6. Go on this post / page frontend, the booking form appears!

The user must be logged in to book an event.

/!\ 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

  1. Go to Booking Activities / Booking forms page
  2. Select the desired form or create a new one
  3. Keep the “Calendar” field and remove all the others (like “Login/Register”, “Quantity” and “Submit” fields)
  4. Copy the shortcode given in the “How to integrate this form” area (it looks like [bookingactivities_form form=""])
  5. Past this shortcode in any post or page you like
  6. Go on this post / page frontend, the calendar appears alone!
Display user’s bookings list

Make sure the user has bookings and he is logged in, otherwise it will not show anything

  1. Past this shortcode in any post or page you like: [bookingactivities_list]
  2. Go on this post / page frontend, the bookings list appears!

Depending on BA settings and bookings dates, actions like cancel or reschedule may appear. Try them!

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

  1. Go to Products / Your Product
  2. In ‘Product data’ area, check ‘Activity’, a new ‘Activity’ tab appears
  3. In ‘Activity’ tab, bind the desired booking form to the product
  4. 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 he 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 clean 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 bookings list.
Go to the “Bookings” page, under the “States” filter select “Booked”, “Pending” and “In cart” (use CTRL+Click to select multiple row).
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 a status and press CTRL+A to select all rows).
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) load 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 tracker

If 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

Super Plugin et Support !

Plugin vraiment complet. Pas toujours facile concernant le paramètrage lorsque l’on est pas webmaster mais compensé par la réactivité, le soutien et l’aide du support. Je recommande ce plugin très vivement et ne regrette pas.

Best Booking Plugin

I wish I had found this plugin earlier!!!! I’ve spent years testing lots of different booking plugins which didn’t quite fit. I use it with Woocommerce and it’s the first booking plugin which has been designed in a way that makes it super easy to manage changes in the booking schedules without having to edit the product. I run an Art Activities booking site which is also a vendor marketplace for art teachers and this plugin functions perfectly for my needs and is compatible with my membership and vendor plugins. The thing I love most is that the activities created can exist on more than one calendar (e.g. Calendar of the Artist, and Calendar of the art school/s which they teach at).

I was using Woocommerce Bookings Plugin before but it’s honestly not nearly as good as this one. Try this plugin before you spend money on any others. The paid extensions are worth it if you need added features but even at the base level it’s an amazing plugin.

Enfin !!!

J’ai cherché un plugin simple et efficace pour de la réservation et voila, BOOKING ACTIVITIES l’a fait.
Vraiment parfait après en avoir essayé beaucoup.
merci merci merci
bon travail

(en plus, tout en français)

Read all 19 reviews

Contributors & Developers

“Booking Activities” is open source software. The following people have contributed to this plugin.

Contributors

“Booking Activities” has been translated into 2 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.5.9 – 2018/10/11

  • Tweak – Availability period is now checked on server side and is compatible with the “Display past events” option
  • Tweak – Reschedule calendar has now the same booking constraints as the calendar of the form used for the reservation (for customers only)
  • Tweak – Allow administrators to reschedule a booking to any event of the same activity, on any calendars
  • Tweak – Check if booked events have the same activity as rescheduled bookings on server side too
  • Tweak – Display a feedback in “cancel” and “change status” booking dialogs when an error occurs
  • Fix – Groups of events looked bookable even when they were not (past, or out of the availability period)
  • Fix – Past groups of events couldn’t be booked even if it’s group category allowed it
  • Fix – Events list didn’t appeared in group of events dialog
  • Fix – Do not allow to reschedule a booking if its event has been removed from database (not only from calendar editor)
  • Fix – Fields were inserted below the form editor
  • Fix – Contradictory events size-related CSS classes
  • Fix – Cannot change inactive booking status to active if the event wasn’t in its calendar availability period
  • Fix – When “Booked only” option is ON, group of events dialog now display quantity booked instead of available quantity (same as booking page)
  • Fix – Event “out of calendar range” error while trying to reschedule
  • Fix – Non-logged in users had the user ID “0” instead of their WC customer ID in booking groups list

1.5.8 – 2018/09/28

  • Fix – Hidden fields were shown after hitting “Make a new booking” button
  • Fix – “Generate Password” option prevented the form to be sent (password field not focusable)
  • Fix – PHP error when updating a recurring event if the new range doesn’t include all booked occurences
  • Fix – WC orders bookings status were not change with WooCommerce < 3.0.0
  • Fix – Remove corrupted cart items bookings when they are removed from cart
  • Fix – Update auto refund process to WC 3.0+ way (kept backward compatibility)
  • Fix – Booking groups status stayed ‘in_cart’ if they were added to cart after a single booking
  • Dev – Add hooks to give control over WC cart item restored (when bound to a booking)
  • Dev – Add hooks to change notification data before they are sent or prevent them to be sent

1.5.7 – 2018/08/27

  • Fix – Remove mbstring (PHP extension) dependency (use regex to check UTF8 if mbstring is not available)
  • Fix – Wrong URL in WC Guest Checkout notice
  • Fix – Prevent unwanted drags when clicking a field action in form editor
  • Fix – Error message related to min quantity can say “increase quantity to 0”
  • Fix – Wrong hook: ‘bookacti_default_booking_filters’ replaced with ‘bookacti_default_form_filters’
  • Fix – Apostrophes didn’t appear in customizable messages
  • Dev – Add hooks to give control over WC cart item merging

1.5.6 – 2018/07/11

  • Tweak – Changed “refunded” and “refund_requested” booking state icon
  • Tweak – Add messages in Booking Activities settings tooltips
  • Fix – Administrators cannot change booking states to “refunded” if the booking was not actually paid in WooCommerce
  • Fix – Cancelling / Completing orders in WooCommerce changed all their bookings states to “cancel” / “booked”. Now only “in_cart”, “pending” and “booked” bookings are changed
  • Fix – Completing a WooCommerce order turned “no payment required” bookings to “paid”
  • Fix – PHP error while changing booking state
  • Dev – Add hooks to change the booking status change notifications recipient

1.5.5 – 2018/07/02

  • Fix – Non-activity products couldn’t be added to cart

1.5.4 – 2018/06/30

  • Tweak – Add the refund coupon code in customers’ booking list
  • Fix – Inconsistency between cart items and bookings when the same event is booked twice from different products / variations
  • Fix – Couldn’t save some Login / Registration field options
  • Fix – On/off checkboxes may not be saved on position off after closing the dialog once
  • Fix – Bookings numbers were not refreshed after form submission
  • Fix – Tooltip not working after rescheduling a booking in the backend
  • Fix – Booking list pagination didn’t keep filters while jumping to a specific page
  • Fix – Booking filter values of “calendars” and “activities” didn’t appear as selected when they are
  • Fix – Order item meta may not be updated while updating booking status, refunding and rescheduling
  • Fix – Make sure booking or booking order item exists before anything to avoid PHP errors
  • Fix – PHP warning: Unknown is_new_order offset while sending a notification after a booking status changed
  • Dev – Add the form_id to booking data to know from which form the booking was made
  • Dev – Add filters for the booking list: in__booking_id and in__booking_group_id

1.5.3 – 2018/05/30

  • Tweak – User selectbox list has now a fixed size
  • Fix – “The field “Password” is required.” error appears even with “Generate password” option on
  • Fix – “You can’t book for someone else” error appears when “Automatic login” option is off
  • Fix – WooCommerce integration screenshot may not appear in “How to integrate this form” box
  • Fix – Non-closing div in the form editor
  • Fix – Double “X” may appear on “Close dialog” button
  • Fix – Display an asterisc on all required fields
  • Fix – Fields metadata may not be formatted
  • Fix – Tooltip not showing on frontend
  • Fix – Field titles not translated on multilingue site in form editor
  • Dev – Add some useful hooks
  • Dev – bookacti_display_field() now handle ‘hidden’ and ‘file’ fields

1.5.2 – 2018/05/17

  • Feature – Add a “Terms” field (required checkbox)
  • Tweak – Removed “Activity” master checkbox on variable product. Checking it on each variations is enough.
  • Fix – JS error on WC Variable Products if they have no default variation and if calendar is loaded after page load
  • Fix – Calendar not displayed when switching WC non-activity variation to activity variation
  • Fix – Wrong button label when switching WC activity variation to non-activity variation: “Book” instead of “Add to cart”
  • Fix – Calendars locale-related settings didn’t take the country into account (first day of week, time format…)
  • Fix – Deprecated .live function in newer jQuery versions replaced by .on
  • Fix – Remove unnecessary nonces that may cause troubles
  • Fix – Fields were added at the top of the form instead of at the bottom

1.5.1 – 2018/05/09

  • Feature – Add a setting to disable automatic login after booking
  • Feature – Add a setting to allow customers to book without authentication
  • Fix – Calendar field settings dialog may not open if the form was created from the “Add new” button
  • Fix – Missing JS check on form without login/register field

1.5.0 – 2018/05/05

  • Feature – Customizable booking forms !
  • Feature – Log in / Register seamlessly as you book
  • Feature – You can now delete your bookings and your booking groups from the booking list
  • Feature – You can display past events on frontend, they can be bookable or not
  • Feature – Responsive default calendar view: display day view for small calendars instead of week view (set the threshold in settings)
  • Tweak – Add a “Product” column in booking list (if the reservation was made with WooCommerce)
  • Tweak – Add a dismissible admin notice to inform that WooCommerce “guest checkout” option isn’t supported
  • Tweak – Use core dashicons instead of additional images in backend
  • Tweak – When to load the events? setting now also apply to product variation if a default variation is set
  • Fix – Booking groups sometimes not appearing in booking list
  • Fix – Show / Hide columns according to page options in booking list after a row is refreshed
  • Fix – Booking list pagination didn’t allow to jump to a specific page
  • Fix – Couldn’t drag and drop activities in calendar editor with touch devices
  • Fix – PHP warning during AJAX request which needs to create an instance of the Booking List
  • Fix – PHP warning when deleting a non-booking order item in the admin panel
  • Fix – PHP warning sometimes occurs before sending a notification
  • Fix – If the snap frequency was 00:00, it wasn’t possible to drop an event on the calendar editor
  • Fix – Woocommerce 2.6 backward compatibility various checkout issues
  • Breaking change – Refund actions in Booking Activities settings must be set again

1.4.4 – 2018/04/06

  • Tweak – Changed events list CSS in “Pick a group of events” dialog
  • Tweak – Added a scrollbar in groups of events list in calendar editor
  • Fix – Cannot move, resize or delete an event even if all its bookings are cancelled
  • Fix – Show error message when no event is selected
  • Fix – Calendars cannot close later than 2037-12-31 because of year 2038 bug

1.4.3 – 2018/03/09

  • Fix – Groups of events were not properly retrieved for WooCommerce variations
  • Fix – PHP notice when updating an order containing non-booking items
  • Fix – PHP notice when updating a WooCommerce product with only 1 calendar, 1 activity or 1 group category
  • Fix – Every classes and CSS instructions are prefixed by “bookacti”
  • Fix – Do not select the single event if choose group of events dialog is validated with no group chosen
  • Fix – Groups of events were sometimes mistakenly disabled in choose group of events dialog
  • Lib – Update FullCalendar to 3.9.0 and Moment JS to 2.21.0

1.4.2 – 2018/03/01

  • Fix – Groups of events were only retrieved for the first interval if “Groups only” box was checked
  • Fix – Booking calendar didn’t appeared on WooCommerce variation switch if the calendar was hidden before

1.4.1 – 2018/02/25

  • Fix – Error while trying to update an event in calendar editor
  • Fix – Error while trying to delete a group of events
  • Fix – Error while trying to delete a booked event

1.4.0 – 2018/02/24

  • Feature – Set the advance booking period: customers can book events from X to Y days from today (global option and calendar option)
  • Feature – Set the minimum booking quantity required per user (activity option and group category option)
  • Feature – Set the maximum booking quantity allowed per user (activity option and group category option)
  • Feature – Set the maximum number of different users allowed to book the same (group of) event(s) (for private events) (activity option and group category option)
  • Feature – Set which user roles are allowed to book wich (group of) event(s) (activity option and group category option)
  • Feature – Set the booking changes deadline per activity: customers can change their events X days before they start (global option already exists)
  • Feature – Set whether to allow to book started groups of events (global option and group category option)
  • Tweak – Groups of events can be unselected in calendar editor
  • Optimization – Only the required groups of events data are retrieved on frontend
  • Optimization – Do not process the whole render function while dragging or resizing events
  • Optimization – Instant JS alert while dragging or resizing a booked event instead of waiting for PHP check
  • Optimization – Get event / group of events availability with a single query
  • Fix – Wrong error message when quantity <= 0 in booking form
  • Fix – PHP notice when updating single events and activity or calendar with no managers
  • Fix – Don’t display booking actions in emails
  • Fix – PHP warnings and notices when a WooCommerce order was made and notifications sent
  • Fix – JS error on WC variation loaded with another default booking method than “Calendar”
  • Fix – Incorrect booking groups user ids if users made their bookings before logging in
  • Fix – PHP notices after updating custom parameters in calendar editor
  • Fix – JS errors when an event of a group was past
  • Fix – Australia and Arctic timezones added
  • Fix – Multilingual event titles were not displayed in event dialog in calendar editor
  • Fix – No alert displayed while trying to move or resize a booked event
  • Fix – JS error while trying to compute group availability if events of the group were not retrieved yet
  • Fix – PHP notices on activation: Multiple primary keys

1.3.3 – 2018/02/11

  • Fix – Repeated events were not displayed on today’s date at a future time
  • Fix – The dropped off events were disappearing when the view changes in calendar editor
  • Fix – Booking action buttons are back in frontend WooCommerce orders details
  • Fix – The snapDuration default value was not automatically displayed in calendar settings
  • Fix – PHP notice in WooCommerce variations

1.3.2 – 2018/02/07

  • Tweak – Do not select temporary states as booking list filter (in cart, expired, removed)
  • Tweak – Calendar editor is now always full width
  • Fix – Wrong total of booking rows
  • Fix – Calendar settings could be unexpectedly changed using bookacti_update_calendar_settings() JS hooks
  • Fix – Custom time format was not applied in booking lists (in cart, checkout and order)
  • Fix – Duplicated events when booking system needed to reload
  • Fix – Compatibility with some optimization plugin
  • Fix – Hide overflowing button labels in Bookings page
  • Fix – Readme FAQ now matches Booking Activities 1.3 changes
  • Lib – Update FullCalendar to 3.8.2 and Moment JS to 2.20.1

1.3.1 – 2018/01/28

  • Fix – Empty booking list if booking groups table was empty
  • Fix – “Do not exist” error when trying to book single non-recurring events that did exist
  • Fix – Incorrect booking values if the booking was made with a booking form
  • Fix – Bookings numbers were not reloaded after booking form was sent

1.3.0 – 2018/01/28

  • Tweak – Bookings page has been redesigned
  • Feature – Filter your booking list by calendars, activities, status, date, and customers (and also by events like before)
  • Feature – The booking list is now paginated and columns can be hidden (in screen options) and sorted
  • Feature – Bookings have a new “Payment status” property, with 3 possible values: No payment required, owed, paid.
  • Feature – Display your customers’ bookings calendar with the shortcode [bookingactivities_calendar bookings_only=”true” user_id=”current” past_events=”true”]
  • Feature – Customize frontend dialogs titles and buttons labels (and content for some of them)
  • Tweak – In-cart bookings are no longer active when the cart expiration is deactivated. The availability check is made on checkout.
  • Tweak – Date format can be set more specifically, and the separator between dates can be changed
  • Tweak – ON/OFF button: clearly display “ON” and “OFF” for a better understanding
  • Tweak – Email refund option is no longer offered to administrators
  • Fix – Activities with a title containing special characters triggered a fatal error when an event was dropped
  • Fix – Picking a group of events not already loaded triggered a fatal error (events of the group still need to be rendered)
  • Fix – Error notice about wpdb::prepare since WP 4.9+ (can cause fatal error if WP_DEBUG was set to true)
  • Fix – Show / Hide activities in calendar editor triggers fatal error
  • Fix – Shop Managers (WooCommerce role) were not able to edit activities
  • Fix – WooCommerce [product_page] shortcode is now working with variable product marked as activity
  • Fix – Bookings in a WooCommerce order containing a non-activity products were still “Pending” after payment is received
  • Breaking change – Date format needs to be set again in Booking Activities settings, in “Messages” tab

1.2.3 – 2018/01/09

  • Fix – AJAX error when creating an activity with PHP 7.1+
  • Fix – Fatal error when trying to update activity which doesn’t have events on calendar

1.2.2 – 2017/12/27

  • Feature – Booking Activities’ notifications can now be sent along WooCommerce’s notifications
  • Optimization – Events are loaded significantly faster
  • Optimization – Events are loaded at intervals as the user navigates the calendar (configure it in Booking Activities settings)
  • Optimization – Calendar editor operations are processed significantly faster
  • Optimization – Booking forms (with or without WooCommerce) are verified faster
  • Optimization – JS and CSS files are now versioned to allow smart cache refresh
  • Optimization – JS and CSS files are now minified, your pages will load faster
  • Tweak – Use CTRL+G to create a group of events in calendar editor (2+ events must be selected)
  • Tweak – Pressing ENTER key now brings focus “OK” button on dialogs of calendar editor
  • Fix – Loading feedback was displayed before booking system title
  • Fix – Alert pop-up was sometimes displayed on frontend with a permission-related error message
  • Fix – Bookings could still be pending after a WC order failed
  • Fix – Bookings status were not up to date in WooCommerce’s notifications
  • Fix – Events didn’t appear when “repeat to” value was set to tomorrow
  • Fix – Custom messages were not translated on multilangual sites
  • Fix – Add to cart button label is switched according to WooCommerce variation type
  • Lib – Update FullCalendar to 3.8.0 and Moment JS to 2.20.0

1.2.1 – 2017/11/17

  • Feature – Added a snap frequency option in editor to place your events at precise timeslot
  • Lib – Updated FullCalendar to 3.6.2 and Moment JS to 2.19.1
  • Tweak – WordPress 4.9 support
  • Tweak – A button allowing users to make a new booking now appears after a successful booking form submission
  • Fix – Now you can edit events on touch devices (click replaces mouseover)
  • Fix – Fixed events that shouldn’t appear / should appear on frontend calendars according to your timezone
  • Fix – Fixed deactivated calendar / activities / events appearing on frontend if the shortcode didn’t specified calendar and activities ids
  • Fix – Prevent users to book duplicated bookings by pressing multiple times on the “Book” button
  • Fix – Fixed notification tag “{booking_title}”
  • Fix – Fixed multilingual event title in notification always showing in site’s language
  • Fix – Fixed bookacti_hourly_event WP cron job triggered multiple times
  • Fix – Fixed JS fatal error when trying to format duration for event list
  • Dev – Many refactoring in notifications in anticipation of Notification Pack add-on release. See below.
  • Dev – Functions and hooks related to notifications have undergone changes. Please check the source code if you use them.
  • Dev – bookacti_display_field now support radio and textarea and you can add these to editor setting dialogs
  • Dev – PHP filter Tweak – bookacti_messages have a new $raw parameter

1.2.0 – 2017/10/12

  • Feature – Send email notifications to the administrator and the customer when a booking is made, when its status changes and when it is rescheduled
  • Feature – Configure and customize email notifications
  • Feature – Configure some messages displayed on frontend directly through Booking Activities settings
  • Tweak – Added a date field in bookings database, so you can know when a booking was made
  • Fix – Wrong locale was loaded on multilingual site (depending on site and users settings)
  • Fix – Dialogs looked glitchy on Chrome
  • Fix – Booking quantity was incorrect if multiple partial refunds were deleted at once in a WooCommerce order
  • Fix – Booking quantity wasn’t correctly displayed on bookings list
  • Fix – Min delay before event is no longer limited to a minimum of 1 day. Minimum is now 0 (no delay)
  • Fix – Do not display booking actions on “Pay for orders” pages
  • Lib – Updated FullCalendar to 3.6.0 and Moment JS to 2.19.0
  • Dev – A lot of hooks has been changed, added or removed. Please go to the website for the complete changelog.

1.1.4 – 2017/09/14

  • Tweak – You can force event deletion even if it is booked
  • Tweak – You can place a repetition exception on booked occurences (a warning will be displayed)
  • Tweak – You can unbind booked occurences in order to edit them independently
  • Tweak – When you delete an activity, you can now also delete all its events
  • Fix – Cannot edit / move event after being added on calendar (needed page refresh) (bug introduced with 1.1.3)
  • Fix – Fixed possibility to unbind single event, causing unexpected behavior
  • Fix – Single events were not displayed on their exception dates (if they used to be repeated and then back to single)

1.1.3 – 2017/09/12

  • Lib – Updated FullCalendar to 3.5.1 (events are rendered 25% faster)

1.1.2 – 2017/08/30

  • Fix – Incorrect (or negative) group bookings number in “Bookings” page
  • Fix – Support PHP 5.3 or later (instead of 5.5)
  • Localization – Language files are no longer included in the plugin package. Now they will be updated through wordpress, just like your themes and plugins. You can contribute here: https://translate.wordpress.org/projects/wp-plugins/booking-activities
  • Localization – Replaced the word “schedule” by the more appropriated word “time slot” or “event” depending on the context
  • Tweak – Add a video introduction in the readme file

1.1.1 – 2017/08/08

  • Fix – Fix AJAX error when trying to create / update an activity with WordPress < 4.6
  • Fix – Fix error when cron try to expire an unexisting cart
  • Fix – HTML code was displayed in refund emails
  • Fix – Admin can turn inactive bookings state to ‘cancelled’ if they want
  • Fix – Improved readme.txt to provide a better understanding and preview of the plugin

1.1.0 – 2017/07/16

  • Feature – Manage groups of events! You can group events and make your customer book a bundle of events instead of a single one.
  • Feature – Bind multiple calendars and activities to one product in WooCommerce!
  • Optimization – Calendars are now loaded faster and on page load (possibility to load after page load in Booking Activities settings)
  • Feature – Choose the default booking status after a customer complete the booking form or a WooCommerce order.
  • Feature – Calendars events are now related to your business timezone, and no longer to users’ timezone. Customers around the world cannot see / book a past event because of time offset.
  • Feature – You can change how dates are formatted (in grouped events and picked events list only)
  • Tweak – You can change your calendars period regardless of the bookings already done
  • Fix – Apostrophe characters in template / activity / events names are now correctly displayed
  • Fix – Dates are now translated everywhere
  • Fix – Copy a shortcode in calendar editor now copy only plain text, no more undesired html
  • Fix – Cart expiration is now checked on each page load. This means that you cart counter will now always be up to date.
  • Fix – Fixed booking method checks in JS files (misuse of inArray)
  • Fix – Fixed permission error after closing a dialog in template editor
  • Fix – All global JS variables are stored in bookacti object in order to avoid collisions
  • Delete – Removed trashes from editor, to delete calendars, activities and events please use their respective settings dialogs
  • Delete – Deleted events ‘occurrence id’ since it is not a relevant identifier. All events can be identified by id + start + end datetimes.
  • Delete – Deleted unused bookings global actions
  • Delete – bookacti_display_booking_system() function replaced by bookacti_get_booking_system() which MUST be used to display a booking system
  • Dev – A lot of hooks has been changed, added or removed. Please go to the website for the complete changelog.

1.0.8 – 2017/05/31

  • Fix – Fixed events not fetched if your database prefix was not exactly “wp_”
  • Fix – “Create or import activity” dialog is closed before opening a new one. This prevent undesirable display and behavior.
  • Fix – Flush rewrite rules on activate to avoid error 500
  • Fix – Cron error in log/error.log appeared even if bookings were correctly deactivated hourly
  • Fix – Check booking id before sync booking state in woocommerce meta to avoid errors

1.0.7 – 2017/05/27

  • Fix – Fixed non-repeting events not fetched

1.0.6 – 2017/05/24

  • Lib – Updated FullCalendar to 3.4 and Moment.js to 2.18.1
  • Tweak – Calendars range is not restricted by booked events anymore
  • Fix – Events out of their calendar range are not displayed and are impossible to book
  • Fix – Fixed update booking list parameters always resulting in a permission error
  • Fix – Added defined() check before constant definitions to avoid collisions
  • Add – Added bookacti_updated action hook and stored plugin version in database
  • Add – Added bookacti_validate_template_data action hook on template insert / update
  • Tweak – Moved some functions from model-template.php to functions-template.php
  • Delete – Deleted bookacti_validate_template function, replaced by bookacti_validate_template_data
  • Delete – Deleted bookacti_deactivate_expired_bookings_hourly function, replaced by bookacti_controller_deactivate_expired_bookings

1.0.5 – 2017/05/11

  • Fix – Fixed error messages not disappearing in event dialog on calendars editor
  • Fix – Correct formating of booking id in WooCommerce emails

1.0.4 – 2017/04/20

  • Fix – WooCommerce 3.0 supported and backward compatibility to WooCommerce 2.6
  • Fix – Fixed issue causing separator between to dates or two hours not to show
  • Fix – Fixed issue causing unique event in calendar or events closed to calendar limits not to show
  • Fix – Fixed ‘parent’ booking method for variations
  • Fix – Fixed refund via coupon AJAX call feedback
  • Fix – Fixed dates not displayed when they had a special character such as “é”
  • Fix – Fixed permission to create and read coupons when a user try to generate a refund coupon
  • Fix – Fixed blank page when you ‘Order Again’ an order containing bookings. This fonctionnality is not supported yet, but now it leads to a proper error message.
  • Fix – Hid reschedule timepicker when no date has been selected in datepicker (w/ Display Pack add-on)
  • Fix – Replaced ‘eventRender’ JS action triggered on FullCalendar eventRender in calendar editor by ‘bookacti_event_render’
  • Fix – Fixed activity list not filtered by calendar on load in admin product page
  • Tweak – Merged WC and BA confirmation notices when you add a product to cart to display only one
  • Tweak – Hid in-cart, expired and removed bookings from users’ bookings list (can be filtered with ‘bookacti_bookings_list_hidden_states’ filter)
  • Add – Added ‘bookacti_validate_selected_event’ JS action
  • Add – Added ‘bookacti_temporary_book_message’ filter to allow you to change the confirmation text when an activity has been added to cart through WooCommerce
  • Add – Added ‘bookacti_refund_coupon_code_template’ filter to change the template of WC generated coupon code (with refund by coupon method)
  • Add – Added ‘bookacti_get_booking_product_id’ function to retreive product id by booking id, if the reservation was made with WC

1.0.3 – 2017/03/29

  • Feature – Added possibility to change calendar day start / end hours
  • Fix – Corrected the [bookingactivities_calendar] shortcode name in calendar editor
  • Fix – Fixed possible error while uninstalling plugin
  • Localization – Updated fr_FR

1.0.2 – 2017/03/27

  • Fix – Fixed error 500 on plugin activation (undefined function wp_get_current_user())

1.0.1 – 2017/03/25

  • Fix – Updated shortcodes in readme.txt

1.0.0 – 2017/03/25

  • Feature – Drag and drop planning editor
  • Feature – Shortcodes to display reservation form, the calendar alone, or customers’ list of reservations
  • Feature – One-click reservation system
  • Feature – Woocommerce support for reservation online payments
  • Feature – Woocommerce cart expiration system
  • Feature – Backend reservation manager and frontend user’s bookings list so that both can manage reservation