Chaque version majeure de Booking Activities se focalise sur une, voire deux, fonctionnalités majeures. La version 1.8 est l’exception à la règle. En effet, depuis la version 1.7, nous avons mis un point d’honneur à développer un grand nombre de petites fonctionnalités très demandées par la communauté. La version 1.8 conclut cette démarche en apportant les plus conséquentes d’entre elles.
Aperçu des réservations
Aperçu au survol, filtrage au clic
Sur la page des réservations, vous trouverez un calendrier affichant les évènements réservés. Vous pouvez ainsi savoir en un coup d’oeil quels évènements sont réservés, leur nombre de places réservées / leur nombre de places total. Passez la souris sur l’évènement (ou restez appuyé sur mobile) afin de voir la liste de ses réservations dans une infobulle.

Cela permet d’avoir un aperçu instantané des reservations de l’évènement. Si vous souhaitez modifier ces réservations ou avoir plus d’informations, cliquez simplement sur l’évènement. La liste des réservations sera alors filtrée automatiquement pour cet évènement.
Sur le frontend aussi avec Display Pack
Notez que vous pouvez afficher la liste des participants à un évènement de la même manière sur votre site grâce au module Display Pack. Vous trouverez dans les réglages du champ Calendrier du formulaire désiré, onglet Affichage, une option permettant d’afficher cette infobulle, et vous pourrez également choisir les colonnes à afficher.

Personnaliser le calendrier des réservations
Sur la page “Réservations” du back office, cliquez sur l’icone “engrenage” () du calendrier de réservations afin d’accéder à ses réglages. Ici vous pourrez si vous le souhaitez :
- Activer / Désactiver l’affichage automatique du calendrier
- Activer / Désactiver le filtrage automatique de la liste
- Activer / Désactiver l’aperçu des réservations dans l’infobulle
- Définir les colonnes à afficher lors de l’aperçu des réservations
- Définir les heures ouvrées afin de restreindre l’affichage du calendrier
- D’autres options de personnalisation sont disponibles avec le module Display Pack
Ces options sont sauvegardées par utilisateur, libre à chacun de choisir ses préférences d’affichage.

Export / synchronisation iCal des réservations
Filtrer puis Exporter / synchroniser
Filtrer la liste des réservations à votre guise, les réservations que vous voyez sont les réservations que vous exporterez. Une fois ceci fait, cliquez sur le bouton “Exporter les réservations”.
Vous aurez alors le choix entre exporter en CSV (pour les tableurs), ou exporter en iCal pour les applications de calendriers telles que Google Agenda.

Choisissez iCal, puis générez le lien d’export. Vous pouvez à présent cliquez sur “Exporter” pour obtenir un fichier .ics, ou bien utiliser le lien fourni pour la synchronisation.

Concernant l’import ou la synchronisation, suivez la documentation de votre application, par exemple :
| Import | Sync | |
|---|---|---|
| Google Agenda | importer des événements (Étape 2 : Importer des événements dans Google Agenda) | ajouter un agenda à partir de l’URL (instructions sous “Use a link to add a public calendar”) |
| Outlook.com | importer un calendrier (rubrique “Télécharger un calendrier à partir d’un fichier”) | s’abonner à un calendrier (rubrique “S’abonner à un calendrier”) |
| Microsoft Outlook | importer un fichier .ics (rubrique “Importer un fichier .ics ou .vcs”) | ajouter un calendrier internet (rubrique “Ajouter des calendriers Internet”) |
Enfin, il est possible d’ajouter des dates relatives à l’URL afin de restreindre dynamiquement la période à synchroniser. Par exemple : https://my‑export‑link[...]&export_id=20&from=today&to=+12month exportera les évènements commençant entre aujourd’hui et l’année prochaine. Donc si vous synchronisez cette URL, les évènements de la veille disparaitront chaque jour.
Voir les réservations sur les évènements exportés
Vous pouvez personnaliser le titre et la description des évènements à votre guise. Des balises spéciales vous permettent d’afficher des informations propres à l’évènement. Par exemple, par défaut, le titre affiche le nombre de réservations / le nombre total de places et le titre de l’évènement ([{event_booked_quantity}/{event_availability_total}] {event_title}). La description affiche la liste des réservations ({booking_list}).

Vous pouvez également personnaliser cette liste de réservations, notamment choisir les colonnes qui seront affichées.

Se connecter / s’enregistrer à l’avance
…avant de réserver
Des options été ajoutées dans les paramètres du champ “Données utilisateurs (connexion / enregistrement)”, onglet “Connexion”.

Si vous affichez le bouton de soumission du formulaire de connexion / enregistrement, les utilisateurs pourront, s’ils le désirent, se connecter / s’enregistrer avant de réserver.
Si vous activez l’option “Les utilisateurs doivent se connecter d’abord”, seul le formulaire de connexion / enregistrement apparaitra. Le formulaire de réservation complet apparaitra uniquement lorsque l’utilisateur sera connecté.

…avant de voir la liste des réservations
Utilisez le shortcode [bookingactivities_list afin d’afficher un formulaire de connexion / enregistrement si l’utilisateur n’est pas connecté. login_form="xx"]xx correspond à l’ID du formulaire de réservation d’où sera tiré le formulaire de connexion. Ce formulaire de réservation doit donc posséder un champ “Données utilisateurs (connexion / enregistrement)”.

Par exemple : [bookingactivities_list login_form="5"] affichera le formulaire de connexion / enregistrement utilisé dans le formulaire de réservation n°5 si l’utilisateur n’est pas connecté. S’il est connecté, il affichera la liste des réservations de l’utilisateur.
…à tout moment grâce au shortcode de connexion
Le nouveau shortcode [bookingactivities_login form="xx"] affiche le formulaire de connexion / enregistrement du formulaire de réservation n°xx. Allez dans Booking Activities > Formulaires de réservation > votre formulaire > et cliquez sur l’icône “code” () dans le bandeau du champ “Données utilisateurs (connexion / enregistrement)” afin d’obtenir le code court.

Champs personnalisés lors de l’enregistrement avec Advanced Forms
Notez que cette fonctionnalité est entièrement compatible avec le module Advanced Forms. Ainsi, vous pouvez ajouter des champs personnalisés au formulaire d’enregistrement, les valeurs seront bien sauvegardées et rattachées au client.

Tronquer les jours vides
Cette fonctionnalité fait débuter un calendrier sur le premier évènement affiché, et se terminer sur le dernier évènement affiché. En plus de mettre en avant vos prochains évènements, cela évite à l’utilisateur d’avoir à naviguer dans un calendrier vide avant de les trouver.
Pour l’activer, rendez-vous dans les réglages du champ Calendrier, onglet “Disponibilité”, dans l’éditeur du formulaire de votre choix.

De plus, si cette fonctionnalité est activée et qu’il n’y a aucun évènement à afficher, un message en informera l’utilisateur.
Fonctionnalités diverses
Période de disponibilité en jours, heures, minutes
Les réglages du champ Calendrier vous permettent de définir une période de disponibilité. Par exemple, “Afficher les évènements commençant entre demain et dans deux semaines uniquement”. À présent, vous pouvez définir cette période à la minute près.

Délai de modification des réservations en jours, heures, minutes
De même, il vous possible de définir un délai minimum avant annulation / replanification d’une réservation. Par exemple, “Ne pas autoriser une annulation si l’évènement commence dans moins de 2 jours.”. À présent, vous pouvez également paramétrer ce délai à la minute près.

Cette option se trouve dans les réglages de Booking Activities, onglet “Annulation”. Il peut également être défini indépendamment pour chaque activité / groupe dans les réglages des activitiés et des catégories de groupes, dans l’éditeur de planning.
Colonne “Rôle du client”
Vous pouvez à présent afficher le rôle du client dans une colonne dédiée dans toutes les listes de réservations.

Protection des données personnelles dans les listes de réservations
Nombre d’entre vous souhaitent afficher les participants à un évènement sur le frontend au survol de l’évènement, ce qui est à présent possible avec le module Display Pack.
Cependant, cela ne peut être fait sans considérer la confidentialité des données de vos clients. Toutes les données concernant les clients tiers sont donc masquées dans les listes de réservations si vous n’avez pas la permission de voir ou de gérer les données des utilisateurs (list_users ou edit_users).
Vous pouvez désactiver cette protection dans les réglages généraux de Booking Activities, mais cela est fortement déconseillé.

Définissez plutôt quelles colonnes doivent être privées, et créez de nouvelles colonnes ne compromettant pas la confidentialité grâce à l’API. Par exemple, le site de démo autorise la colonne “Prénom”, et crée une colonne n’affichant que l’initiale du nom de famille (démo). Vous trouverez le code ci-dessous pour référence :
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 );
Vous pouvez ajouter ce code dans le fichier functions.php de votre thème enfant, ou bien à l’aide d’un plugin tel que Code Snippets.
Calendrier de replanification fidèle à l’original
Le calendrier affiché lors de la replanification d’un évènement utilise à présent les mêmes paramètres que le calendrier du formulaire de réservation initial. L’utilisateur retrouvera ainsi à l’identique le calendrier qu’il a utilisé pour faire la réservation.
Support de qTranslate-XT
Booking Activities supportait le plugin multilangue qTranslate X, mais celui-ci n’est malheureusement plus maintenu. De nouveaux développeurs ont entrepris de maintenir ce plugin sous le nom de qTranslate-XT, afin qu’il fonctionne avec les dernières versions de WordPress et de PHP. Booking Activities supporte à présent qTranslate-XT.

Droits de gestion des réservations
Vous êtes de plus en plus nombreux à utiliser Booking Activities sur un site marketplace, ou au moins à utiliser le système de gestion des droits afin de vous assurez que chaque vendeur ait accès uniquement à ses propres plannings, formulaires, et réservations.
Nous nous sommes assurés que Booking Activities puisse être utilisé dans ces conditions, et nous avons rédigé un tutoriel pour vous aider à configurer Booking Activities pour une marketplace.

These are all very, nice! Good work!