Booking Activities 1.8 – Bookings preview, iCal export, login beforehand, etc…

Each major version of Booking Activities is focused on one, or two major features. 1.8 will be the exception. Since 1.7, a lot of highly requested small features were developed. 1.8 is the conclusion of this approach, offering the most substantial of them.


Bookings preview

Preview on mouseover, filter on click

On the backend “Bookings” page, you will find a calendar displaying the booked events. So you know at a glance which events are booked, their amount of bookings / their total availability. Mouseover over an event (long press on mobile) to see its bookings list in a tooltip.

Mouseover an event to see its booking list

This provides an instant preview of the event bookings. If you want to change these bookings, or learn more about them, simply click the event. The booking list will be automatically filtered for this event.


On the frontend too with Display Pack

Note that you can display the events participants list in the same way on your site thanks to the Display Pack add-on. You will find an option to display this tooltip and to select the desired columns, in the desired booking form’s “Calendar” field settings.

Display the events participants list on the frontend too thanks to the Display Pack add-on


Customize the bookings calendar

On the backend “Bookings” page, click the bookings calendar “gear” icon () to open its settings. Here you can:

  • Turn ON / OFF the calendar automatic display
  • Turn ON / OFF the list automatic filtering
  • Turn ON / OFF the event bookings preview in a tooltip
  • Select the columns to display in the event bookings preview
  • Define the working hours to make the calendar smaller
  • More customization options are available with the Display Pack add-on

These options are saved per user, everyone is free to choose their display preferences.

Customize the bookings calendar displayed in the backend


Bookings iCal export / sync

Filter and export / sync

Filter the booking list as you want, the bookings you see are the bookings you export. Once done, click the “Export bookings” button. You will have to choose between a CSV export (for spreadsheets), or an iCal export for calendar apps like Google Calendar.

Export your bookings to CSV or iCal

Select iCal, and generate the export link. Now you can click on “Export” to get a .ics file, or use the given link for synchronization.

Display your bookings on your Google Calendar events!

About the import or the synchronization process on your app, follow their documentation. For example:

Import Sync
Google Calendar import events (Step 2: Import events into Google Calendar) Use a link to add a public calendar import a calendar (below “Upload a calendar from a file”) subscribe to a calendar (below “Subscribe to a calendar”)
Microsoft Outlook import a .ics file (below “Import .ics or .vcs file”) add an internet calendar (below “Add internet calendars”)

Lastly, it is possible to append relative dates to the URL to dynamically restrict the synced period. For example: https://my‑export‑link[...]&export_id=20&from=today&to=+12month will export events beginning between today and next year. So if you sync this URL, the past events will disappear everyday.


See the bookings on the exported events

You can fully customize the event title and description. Special tags allow you to display event-related data. For example, by default, the title displays the amount of bookings / the total availability and the event title ([{event_booked_quantity}/{event_availability_total}] {event_title}). The description displays the booking list ({booking_list}).

Customize your iCal events’ title and description with tags

You can also customize this booking list, including choosing the displayed columns.

Customize the booking list displayed in your iCal events description


Log in / register beforehand

…before booking

Some options were added in the “User data (login / registration)” field, “Login” tab.

Display a button so your customer can log in / register before booking

If you display the login / registration form submit button, users will have the possibility to log in / register before booking.

If you turn ON the “Users must log in first” option, only the login / registration form will appear. The whole booking form will appear only once the user is logged in.

Your customers can log in / register first, and then resume their booking


…before seeing the booking list

Use the [bookingactivities_list login_form="xx"] shortcode in order to display a login / registration form if the customer is not logged in. xx corresponds to the booking form ID from which the login form will be taken. This booking form must therefore have a “User data (login / registration)” field.

Display a login / registration form alone

For example: [bookingactivities_list login_form="5"] will display the login / registration form used in the booking form #5 if the user is not logged in. If he is, it will display the user booking list.


…at anytime thanks to the shortcode

The new [bookingactivities_login form="xx"] shortcode displays the login / registration form of the booking form #xx. Go to Booking Activities > Booking forms > your booking form > and click on the “code” icon () in the “User data (login / registration)” field header to get the shortcode.

Display a login form alone with a shortcode


Custom fields during registration thanks to Advanced Forms

Note that this feature is fully compatible with the Advanced Forms add-on. So you can add custom fields to the registration forms, the values will be properly saved and attached to the customer.

Add custom fields to your registration forms thanks to the Advanced Forms add-on


Trim empty days

This feature makes your calendars start on the first displayed event, and end on the last one. It gives an highlight to your upcoming events, and your customers don’t have to navigate through empty views anymore to find the events.

To activate it, go to the Calendar field settings, “Availability” tab, in the desired form editor.

Trim empty days at the begging and at the end of your calendars

Moreover, if this feature is activated and if there are no events to display, a message will feedback the user.


Various features

Availability period in days, hours, minutes

The Calendar field settings allow you to set an availability period. For example, “Display events starting between tomorrow and in two weeks only”. Now you can set this period down to the minute.

Set the availability period in hours and minutes


Booking changes delay in days, hours, minutes

Similarly, it is possible to set a min delay before cancelling / rescheduling a booking. For example, “Prevent the cancellation if the event starts in less than 2 days.”. Now you can also set this delay down to the minute.

Set the booking change delay in hours and minutes

This option can be found in Booking Activities settings, “Cancellation” tab. You can set it independently for each activity / group category in the activity / group category settings, in the calendar editor.


“Customer role(s)” column

Now you can display the customer role(s) in a dedicated column in any booking list.

Display the customer role(s) in a column


Personal data protection in booking lists

Many of you want to display the events participants on the frontend, when you mouseover the event. This is now possible thanks to the Display Pack add-on.

However, this cannot be done without considering your customers privacy. That’s why all data relating to third-party customers will be hidden in the booking lists if you are not allowed to view or manage user data (list_users ou edit_users capabilities).

You can deactivate this protection in Booking Activities general settings, but this is strongly discouraged.

Allow to display private columns (not recommended)

Instead, define which columns should be private, and create new columns that don’t compromise privacy using the API. For example, the demo site allows the “First name” column, and creates a column showing only the initial of the last name (demo). You will find the code below for reference:

function my_theme_allow_first_name_column( $private_columns ) {
	$key = array_search( 'customer_first_name', $private_columns, true );
	if( $key !== false ) { unset( $private_columns[ $key ] ); }
	return array_values( $private_columns );
add_filter( 'bookacti_user_booking_list_private_columns', 'my_theme_allow_first_name_column', 10, 1 );

function my_theme_add_user_booking_list_columns( $columns ) {
	$columns[ 'customer_last_name_short' ] = 'Last name (private)';
	return $columns;
add_filter( 'bookacti_user_booking_list_columns_labels', 'my_theme_add_user_booking_list_columns', 20, 1 );

function my_theme_fill_user_booking_list_new_columns( $values, $booking, $group, $grouped_bookings, $user, $filters, $columns ) {
	$values[ 'customer_last_name_short' ] = $values[ 'customer_last_name' ] ? strtoupper( substr( trim( $values[ 'customer_last_name' ] ), 0, 1 ) ) . '.' : '';
	return $values;
add_filter( 'bookacti_user_booking_list_item', 'my_theme_fill_user_booking_list_new_columns', 10, 7 );

You can add this code in your child theme functions.php, or with a plugin such as Code Snippets.


Same reschedule calendar as the original

The calendar displayed while rescheduling an event now uses the same parameters as the initial booking form calendar. The user will therefore find exactly the same calendar as the one he used to make the reservation.


qTranslate-XT support

Booking Activities used to support qTranslate X, but it is not longer maintained. New developers have resumed the plugin development under the name of qTranslate-XT, so that it works with the latest versions of WordPress and PHP. Booking Activities now supports qTranslate-XT.

Support for qTranslate X discontinued in favor of qTranslate-XT


Booking management permissions

More and more of you are using Booking Activities on a marketplace site, or at least using the access rights system to ensure that each vendor has access only to their own calendars, forms, and bookings.

We made sure Booking Activities can be used under these conditions, and we have written a tutorial to help you configure Booking Activities for a marketplace.

1 thought on “Booking Activities 1.8 – Bookings preview, iCal export, login beforehand, etc…

Leave a Reply