
Le module Advanced Forms vous donne un contrôle total sur vos formulaires de réservation. Vous pouvez demander tout type d’informations à vos clients, et même à chaque participant de l’évènement réservé. Ces données seront visibles et modifiables sans restrictions dans votre liste de réservations. Vous pourrez également les utiliser dans vos notifications.
Définissez vos champs personnalisés
Texte, nombre, fichier, cases à cocher, boutons radio, date, heure… tous les types de champs sont supportés. Vous pouvez donc intégrer à vos formulaires de réservation n’importe quel champ utile à votre activité, par exemple : taille, poids, copie numérique d’un document, commentaire libre…

Ces champs sont entièrement personnalisables : vous pouvez définir les textes affichés, la ou les valeur(s) du champ, si le champ est obligatoire, et si la valeur renseignée est visible par le client. D’autres options peuvent apparaître en fonction du type de champ.
Proposer des options payantes
Il est possible de paramétrer un prix sur vos champs personnalisés, de manière à les transformer en options payantes. Le prix peut aussi être négatif pour proposer des réductions.
Pour les boîtes de sélection, les cases à cocher et les boutons radio, vous pourrez paramétrer un prix différent pour chaque valeur possible. Si le client peut choisir plusieurs valeurs, les prix correspondants aux valeurs sélectionnées seront cumulés.
Pour les champs “nombre”, vous avez la possibilité de multiplier le prix du champ par la valeur entrée.
Enfin, une option permet de multiplier le prix du champ par la quantité. Vous pouvez ainsi définir si l’option payante est un coût unique ou par personne.

Le prix est affiché à côté du champ et est mis à jour dynamiquement lorsque le client change la valeur du champ, ou la quantité.
Les options payantes sont entièrement compatibles avec WooCommerce. Leur prix sera ajouté au prix du produit et clairement affiché dans le panier et dans le résumé de la commande.
Elles sont également compatible avec le module Prices and Credits : vous pouvez paramétrer un prix en crédits et payer les options avec un passe de réservations.
Récupérez les données de chaque participant
En fonction des activités, vous devrez peut-être récolter des informations précises sur chaque participant. Le module Advanced Forms répond à ce besoin; chacun des champs personnalisés que vous avez créé peut être demandé pour chaque participant. Ainsi, lorsque que votre client augmente la quantité, un nouveau jeu de champs apparaît. Chaque participant devra alors renseigner ses propres champs.

Une place réservée n’est pas toujours égale à un participant, c’est pourquoi il vous est possible de définir le nombre de participants par unité réservée.
Les utilisateurs de WooCommerce constateront avec plaisir que les données renseignées dans le formulaire sont liées à l’article de la commande. Ainsi vos clients pourront vérifier leurs données dans leur panier et en conserver une trace dans leur récapitulatif de commande.

Affichez et modifiez les métadonnées des réservations
À chaque champ personnalisé créé, le module Advanced Forms ajoute une colonne à la liste de réservation. La valeur renseignée par le client se trouvera tout simplement dans cette colonne. Un colonne globale vous permet de visualiser l’ensemble des métadonnées en un clin d’œil, et de les modifier.

Vous pouvez ainsi ajouter, modifier et supprimer les métadonnées de vos réservations à souhait, y compris celles qui n’ont pas été faîtes à l’aide d’un formulaire possédant les champs souhaités. Vous pouvez de la même manière ajouter ou supprimer des participants et modifier leurs données.
Enfin, il est possible de filtrer la liste des réservations en fonction de la valeur de vos champs personnalisés. Par exemple :
– Si vous avez un champ “Pays”, vous pouvez n’afficher que les réservations pour lesquelles le client à choisi “France”;
– Si vous avez un champ “Loisirs” sur chaque participant, vous pouvez n’afficher que les réservations pour lesquelles l’un des participants à choisi “Football”.
Utilisez les métadonnées dans les notifications
Enfin, vous disposez de plusieurs nouveaux tags pour afficher dans les notifications de Booking Activities les données renseignées au cours de la réservation.
Vous pouvez donc afficher la liste complète des valeurs des champs personnalisés renseignés à l’aide d’un tag global {custom_fields}
. Si vous avez besoin que d’une valeur en particulier, des tags individuels ont été prévus pour chaque champ personnalisé : {field_nom_du_champ}
. De la même manière vous pouvez afficher la liste des valeurs des champs remplis pour chaque participants à l’aide du tag {participants}
.

Requis
Advanced Forms fonctionne seulement si Booking Activities est installé et activé.
WooCommerce peut être utilisé conjointement, les fonctionnalités lié à WooCommerce s’activeront alors automatiquement.
1.3.0 - 2023/05/23
- See the friendly release note
- Feature - Add the [bookingactivities_user_custom_fields] shortcode to allow logged-in users to change the values associated to their account
- Feature - Add the "Save custom field values" form field to allow the customers to save the custom field values and prefill the forms next time
- Dev - PHP hook baaf_current_user_can_edit_custom_fields_on_user_profile replaced with baaf_current_user_can_edit_user_custom_fields
- Dev - Compatibility with Booking Activities 1.15.13
1.2.29 - 2023/04/14
- Tweak - Add German translation (by @lillimarilli)
- Fix - Custom fields columns in backend booking list were not hidden if their name is numeric
- Fix - Custom fields filters dialog was not filled with current filters
1.2.28 - 2022/12/20
- Fix - Invalid nonce error when trying to update a custom form field
1.2.27 - 2022/11/24
- Fix - Date and Time custom fields value was empty if input value had invalid format
- 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 with BA 1.15.5 (input name = nonce)
1.2.26 - 2022/10/06
- Tweak - Use select2 library for options using selectboxes with multiple values
- Fix - Custom fields values couldn't be managed on current user profile
- Dev - Change js and css minification processor to Google Closure Compiler (replace all .min files)
- Dev - Compatibility with BA 1.15.4
1.2.25 - 2022/08/31
- Dev - Compatibility with Booking Activities 1.15.0
1.2.24 - 2022/06/19
- Fix - Impossible to add a custom field to form right after creating it (needed to reload the page)
- Dev - (Beta) Compatibility with Persistent Object Cache (Memcached, Redis...)
1.2.23 - 2022/06/08
- Fix - Participants rows may not be at the correct position in the list during bookings export
- Tweak - Remove max height in admin dialogs
- Dev - Refactor custom fields CRUD
- Dev - Compatibility with WPML and Booking Activities 1.14.0
1.2.22 - 2022/02/25
- Fix - Do not add price in custom field label when exporting bookings
1.2.21 - 2022/01/10
- Fix - Cast to int or float before using abs to prevent PHP error with PHP 8
1.2.20 - 2021/12/06
- Fix - err_invalid_response error code may appear while trying to download a file tranferred via a custom field
- Fix - PHP error may appear when exporting booking groups
1.2.19 - 2021/10/27
- Tweak - Add an option in custom fields settings to hide the field price in the form
- Tweak - Support Total Price field
1.2.18 - 2021/09/23
- Tweak - Display the button to edit booking custom fields values only if current user has bookacti_edit_bookings capability on the backend
- Fix - Custom fields displayed in booking custom fields edit dialog were not correctly ordered
- Dev - Set the array_search to strict mode
1.2.17 - 2021/09/08
- Fix - Custom fields may not be taken into account if their name were numeric only
- Fix - Keep only the registration form custom fields when they are used in both registration form and booking form and login type is no_account or new_account - when form action is add to cart too
- Fix - Grouped bookings rows were not updated if they were already displayed after updating a booking group custom fields
- Dev - Switch the first two parameters of the baaf_booking_custom_fields_updated PHP hook for better compatibility
1.2.16 - 2021/08/23
- Fix - Display custom fields value and its price in a span rather than a div to avoid line breaks in emails
- Fix - Disallow the custom field name: quantity
- Fix - Display the booking custom fields values in the form fields order
- Fix - Keep only the registration form custom fields when they are used in both registration form and booking form and login type is no_account or new_account
- Fix - Allow to download and update files directly from user profile edit page
- Dev - Allow plugins to change FormData thanks to the js hook bookacti_before_submit_booking_custom_fields_form
- Dev - Refactor file storage and access according to latest security best practices (for File custom fields)
- Dev - Improve time fields values sanitization
- Dev - Compatibility with Booking Activities 1.12.0
1.2.15 - 2021/08/18
- Fix - Cannot use only file custom fields in participants fields
- Fix - Participants files were not uploaded if two same products and event were added to cart
- Fix - Participants files download links may no longer be displayed after updating bookings custom fields values from backend
- Fix - Wrong number of participants saved after updating participants custom fields values if participants were not displayed in order
- Fix - It was no longer possible to edit an intermediate participant custom fields values if it was deleted or empty
- Dev - Refactor file uploads and add hooks to tweak allowed mimes (baaf_allowed_mime_types) and size (baaf_upload_size_limit)
1.2.14 - 2021/03/12
- Fix - Custom fields displayed in registration form was not correctly ordered
- Fix - Custom fields values were not displayed if their name was numeric only
- Fix - Incorrect cart quantity after update if the number of participants per unit was not 1
1.2.13 - 2021/01/27
- Warning - Number of participants per unit should not be set to 0 in case of multiple bookings
- Fix - Display the paid options in WC cart with or without tax according to WC settings
- Fix - Custom fields price was not taken into account if the value was numeric (selectboxes, checkboxes and radio buttons)
- Dev - Compatibility with Booking Activities 1.9.0
1.2.12 - 2020/09/16
- Fix - Some texts were not translated
- Fix - Deprecation warning for the whitelist_options hook in WP 5.5
1.2.11 - 2020/08/26
- Fix - PHP warnings and custom fields price not displayed on existing bookings if the custom field is deleted afterwards
- Fix - Error when Number of participants per unit = 0 in Participants Fields settings and in activity settings (or group category settings)
1.2.10 - 2020/07/01
- Fix - Custom fields price were added twice to the product price if the customer created an account during checkout with WC
1.2.9 - 2020/06/04
- Tweak - Change the custom register fields values check for registration forms for Booking Activities 1.8.4+
- Fix - PHP error when trying to activate Prices and Credits if Advanced Forms is active first
- Fix - The add-on was not loaded on multisite intalls
- Fix - Misspelling of occurred
1.2.8 - 2020/05/21
- Tweak - Use WC additional settings to format price (thousand separator, decimal separator, number of decimals)
- Fix - Not possible to set a negative number as custom field price
- Fix - Not possible to set a decimal number as custom field price (not credits)
1.2.7 - 2020/05/12
- Breaking change - Drop backward compatibility and support with WooCommerce < 3.0
- Tweak - Support for BA 1.8 login forms (custom registration fields values are properly saved as user meta)
- Tweak - Compatibility with Booking Activities 1.8.0 bookings export options
- Tweak - Improve the participants display on admin order pages
- Fix - Conflicts with booking meta passed via URL while formatting booking filters. Replace inputs name from meta to booking_meta
- Fix - Incorrect display of the currency symbol in exports
1.2.6 - 2020/02/08
- Fix - Custom fields on registration option was not properly saved
1.2.5 - 2020/01/29
- Fix - Avoid serialization problems while updating metadata
- Fix - JS error while removing custom field
1.2.4 - 2020/01/09
- Tweak - Display IDs in form editor dialogs (useful for CSS)
1.2.3 - 2019/12/20
- Fix - Reschedule price matching didn't work with WC when the booking had paid custom fields
- Fix - Compatibility issue with woocommerce_email_styles with WC < 3.0
1.2.2 - 2019/12/03
- Fix - Select, radio and checkboxes values cannot be numeric
- Fix - Cannot use HTML in "Terms" fields
1.2.1 - 2019/11/02
- Fix - Incorrect display of custom fields prices in WC notifications
1.2.0 - 2019/10/25
- See the friendly release note
- Feature - Define a price for your custom fields and display it next to them on your booking forms
- Feature - Paid custom fields are fully integrated to WooCommerce, you can set up paid options for your activities!
- Feature - Option to multiply custom fields prices by the quantity (the displayed price changes dynamically)
- Feature - Option to multiply a number custom field price by its value (the displayed price changes dynamically)
- Feature - Custom fields prices and total price can be exported
- Feature - Paid custom fields price can also be set in credits with Prices and Credits 1.4.0+
- Tweak - Fill the price details column in the backend booking list with custom fields prices
- Fix - Support the value 0 for min and max attributes of number fields
- Fix - Incorrect scroll while adding a participant in Safari browser
- Fix - {custom_fields} tag didn't work in notifications
- Fix - Fields with hidden values appeared in WC cart
- Dev - Confusion between custom fields data and meta cleared
1.1.1 - 2019/08/18
- Fix - Empty user data in user booking list
1.1.0 - 2019/08/09
- Feature - Use custom fields for user metadata (instead of booking metadata)
- Dev - Replace PHP constant in text domain by a raw string
1.0.14 - 2019/07/02
- Fix - Remove custom fields meta from WC order item when deleting a booking and choosing the option to do so
- Dev - Support booking form loaded after page load, and booking form without form wrap
1.0.13 - 2019/06/14
- Fix - Empty custom field columns in user booking list
1.0.12 - 2019/06/06
- Tweak - Option to display one row per participant in booking export and in booking lists ([bookingactivities_list one_row_per_participant="1"]
- Tweak - Allow to add custom fields columns to the user booking list
- Fix - Filtering bookings by custom fields was not always accurate
- Fix - Cannot filter booking list by both participant meta and booking meta
1.0.11 - 2019/05/10
- Tweak - Compatibility with price categories and volume discounts features from "Prices and Credits" add-on
- Fix - Check participants field on quantity field "change" action too
1.0.10 - 2019/04/04
- Fix - Support the value "0" for "number" and "text" fields
- Fix - WC cart items with a defined number of participants may be merged if no custom fields were filled
1.0.9 - 2019/04/02
- Fix - Empty field error appeared even if they were not required
- Fix - "Participant #%d" couldn't be translated
1.0.8 - 2019/03/28
- Optimization - Change the way metadata are verified to filter bookings for a better scalability
- Optimization - Change the way custom form fields metadata are retrieved for a better scalability
- Fix - Custom fields should not be required when used as booking filters
- Fix - Add support for theme using javasript to change WC product quantity before adding to cart
1.0.7 - 2019/03/01
- Feature - Option to mark custom fields as "Personal data", so they can be exported / erased with WP tools
- Feature - Booking Activities 1.7 "Add a product to cart" form action is fully supported with custom fields
- Tweak - Check min, max and step requirements on server side too (for number, date and time fields)
- Tweak - Backend javascript and css files are loaded only on Booking Activities screens to avoid conflicts
- Fix - Do not allow to update cart item quantity when it is has a defined number of participants
- Fix - Do not allow to merge cart items when it is has a defined number of participants
- Fix - Field specific metadata were not updated if the master field didn't have these metadata
- Fix - Add index.php empty files in upload directories
1.0.6 - 2019/01/16
- {participants} notification tag fixed
1.0.5 - 2019/01/03
- Tweak - Add / Remove participants fieldset when the page is loaded with a predefined quantity (for BA 1.7)
- Fix - Booking group meta were not auto-completed while trying ot edit them
1.0.4 - 2018/11/29
- Feature - Export bookings: Custom fields columns
- Optimization - Less queries while displaying the booking list (backend)
- Tweak - Check BA option to delete all data before uninstall, in order to avoid accidental data deletion
1.0.3 - 2018/10/11
- Fix - JS error when increasing quantity if a participant field doesn't have any fields
1.0.2 - 2018/09/28
- Fix - jQuery error when participants field has no field to display
- Fix - Duplicated WC order item meta when updating a booking custom field meta
- Tweak - Reserve 'booking_pass' field name
1.0.1 - 2018/08/19
- Fix - Remove mbstring (PHP extension) dependency (use regex to check UTF8 if mbstring is not available)
- Fix - All "array" order item meta were lost while updating a WC order (replaced serialize with json_encode)
- Fix - Cannot add participant fields values on booking that were not made with a form having the "Participants" field
- Fix - Participants fields values were not added in WC order item meta if they didn't already exist
- Fix - Date and time fields values were not properly formatted
- Fix - New custom fields were not dynamically added to "Participants" settings, you had to refresh the page
1.0.0 - 2018/06/30
- Feature - Create and manage custom fields of any kind (text, textarea, checkbox(es), select, radio, file, email, password, tel, number, date, time, hidden)
- Feature - Add your custom fields to your forms
- Feature - Add custom fields for each participant
- Feature - Display custom fields values in notifications
- Feature - Display custom fields values on WooCommerce order item
- Feature - Display and edit custom fields values in the booking list
- Feature - Filter the booking list by custom fields values