Booking Activities 1.7 to 1.8

Many small features have improved the user experience and performance of Booking Activities, making the latest 1.7 release significantly faster and more user-friendly than the first. Let’s review some changes you may have missed:

New features

Customize frontend booking lists

You can choose what columns to display on the frontend booking list, and you are no longer forced to filter them for the current user: [bookingactivities_list user_id="all" columns="..."]. This allows notably to display the participants list of a specific event.
See this documentation to see all your customization options.

Change quantity

Change your bookings quantity from the backend (Booking Activities > Bookings). The quantity is changed without further checks, so be careful to keep your data consistent.

Price details column

Display a new “Price details” column in the backend booking list. Click on “Screen options” in the upper right corner of the page, and select the desired columns.

Useful when you are using WooCommerce, Prices and Credits and / or Advanced Forms.

Duplicate booking forms

Duplicate an existing booking form to save some time instead of creating a new one from scratch. In Booking Activities > Booking forms, mouseover the desired form and click on “Duplicate”.

WC: Non-“Virtual” products

A “Virtual” product, is a product you don’t need to ship.
Products used to be forced to “Virtual” when used with Booking Activities, but now, it handles non-virtual products as well. Go to Products > your product > Product data, and uncheck the “Virtual” checkbox to change it (you will find this checkbox for each variations of variable products too).
The order status changes according of the order items types:

Paid order Unpaid order
Virtual activities only Order: Completed
Bookings: Booked and Paid
Order: Processing
Bookings: Pending and Due
Else Order: Processing
Bookings: Booked and Paid
Order: Processing
Bookings: Pending and Due


New settings

“All” options

In Booking Activities > Booking forms > your form > Calendar Settings > Filters tab, the “Activity” and “Group category” options now have a “All” options.
It displays all the current and future activities / group categories without having to manually select them.

In Booking Activities > Calendar Editor > Activity or Group category settings > Permission tab, the “Who can book this activity / category of groups?” options now have a “Everybody” options.
It does the same as selecting no roles (which is still recommended): it allows all kind of users (any roles, even non-logged in users).

Notification tags

You can now use the notification tags in the email titles.
Enjoy few new notification tags too:

{user_phone} The user phone number
{user_locale} The user locale code. If the user has booked without account, the site locale will be used.
{shortcode}{/shortcode} Use any shortcode between these tags.
{user_ical_url} Relative time format now supported as parameters of this tag (E.g: {user_ical_url}&start=today&end=next+year)

Customizable messages

Find new customization options in Booking Activities > Settings > Messages tab:

Calendar localization Based on the “Site Language” option alone, or on the “Time format” and “Week starts on” options too
“Selected Events” Title displayed before the selected events list
“avail.” article displayed after the number of available places onto the events

WC: more options

Go to Booking Activities > Settings > WooCommerce tab to find two new options:

Booking form location on product pages Display the calendar in full width on product pages
Bookings page in My Account Display the booking list as a new tab in “My account”


User Experience

Resize the UI

Resize the calendar editor sidebar and the multiple selectboxes (doesn’t work with Internet Explorer and Edge).

Dynamic selectboxes

The user and product selectboxes now use AJAX as a scalable solution to retrieve specific values according to your search. If you don’t have that many products or users, you can deactivate it by code:
add_filter( 'bookacti_user_selectbox_args', function( $args ) { $args[ 'ajax' ] = 0; return $args; }, 100, 1 );
add_filter( 'bookacti_product_selectbox_args', function( $args ) { $args[ 'ajax' ] = 0; return $args; }, 100, 1 );

WC: Order item link to the bound booking

Simply mouseover the order item and click on the “Edit the booking” button to navigate to its bound booking page.

WC: Delete expired bookings

“Expired” and “Removed” bookings have been definitely removed from the shopping cart. They are kept 10 days in your database before being permanently deleted. You can change that delay by code if necessary:
add_filter( 'bookacti_delay_before_deleting_expired_bookings', function( $delay ) { return 30; }, 10, 1 );



Cache plugins and CDN

Booking Activities was tested and approved with a lot of popular cache plugins and CDN.
Warning: Make absolutely sure to configure Booking Activities to load events “After page load” in Booking Activities > Settings > General > “When to load the events?” option.

Tested cache plugins and CDN:

  • W3 Total Cache
  • WP Super Cache
  • Autoptimize
  • Comet Cache
  • Cache Enabler
    • Warning: Doesn’t work with “Cache Minification” set to “HTML & Inline JS”. Choose either “HTML” or “Disabled”.
  • SG Optimizer
  • CloudFlare (CDN)
  • SG SuperCacher (Siteground caching system)

WP Multisite

Booking Activities was tested and approved with WordPress’ MultiSite feature.

Finally, some code refactoring was made too to make the API easier to use for developers, and to prepare the future of Booking Activities.

Leave a Reply