Booking Configuration Filter Hooks
These filters allow you to modify booking data, custom fields, and validation rules.
fluent_booking/booking_fields
Filters the list of input fields displayed on the booking form for a specific event.
Parameters:
$fields(array) - Array of booking field configurations.$calendar_event(object) - The associated calendar event object.
Return: (array) Modified array of fields.
Example Usage:
add_filter('fluent_booking/booking_fields', function($fields, $calendar_event) {
// Add a custom field for a specific event
if ($calendar_event->id === 5) {
$fields[] = [
'type' => 'text',
'label' => 'Company Name',
'name' => 'company_name',
'required' => true
];
}
return $fields;
}, 10, 2);Location: app/Services/BookingFieldService.php
fluent_booking/booking_data
Filters the core data of a booking before it is processed or saved.
Parameters:
$bookingData(array) - The processed booking data.$calendarSlot(object) - The associated calendar event/slot object.$customFieldsData(array) - The custom form fields data.$data(array) - The raw posted data from the request.
Return: (array|WP_Error) Modified booking data, or a WP_Error to abort the booking.
Example Usage:
add_filter('fluent_booking/booking_data', function($bookingData, $calendarSlot, $customFieldsData, $data) {
// Modify booking data based on event settings
return $bookingData;
}, 10, 4);Location: app/Services/BookingService.php
fluent_booking/booking_confirmation_response
Filters the JSON response returned to the browser after a successful booking.
Parameters:
$response(array) - The default response data containingmessage,redirect_url,response_html, andbooking_hash.$booking(object) - The newly created booking object.
Return: (array) Modified response data.
Example Usage:
add_filter('fluent_booking/booking_confirmation_response', function($response, $booking) {
// Add custom data to the confirmation response
$response['custom_message'] = 'Thank you for booking with us!';
return $response;
}, 10, 2);Location: app/Hooks/Handlers/FrontEndHandler.php
fluent_booking/booking_rescheduled_response
Filters the JSON response after a booking is successfully rescheduled.
Parameters:
$response(array) - The reschedule response data containingmessage,redirect_url,response_html, andbooking_hash.$booking(object) - The updated booking object.
Return: (array) Modified response data.
Example Usage:
add_filter('fluent_booking/booking_rescheduled_response', function($response, $booking) {
$response['redirect_url'] = 'https://example.com/custom-reschedule-thank-you';
return $response;
}, 10, 2);Location: app/Hooks/Handlers/FrontEndHandler.php
fluent_booking/booking_period_options
Filters the available duration options for recurring or multi-slot bookings.
Parameters:
$options(array) - Array of available duration options.
Return: (array) Modified options.
fluent_booking/default_booking_filters
Filters the default search/filter parameters for the booking list in the admin dashboard.
Parameters:
$filters(array) - Default filter parameters.
Return: (array) Modified filters.
fluent_booking/booking_meeting_title
Filters the generated title for the booking meeting (used for calendar sync and emails).
Parameters:
$title(string) - The generated meeting title.$authorName(string) - The host/author display name.$guestName(string) - The guest/attendee display name.$calendarEvent(object) - The associated calendar event object.$booking(object) - The booking model object.
Return: (string) Modified title.
Example Usage:
add_filter('fluent_booking/booking_meeting_title', function($title, $authorName, $guestName, $calendarEvent, $booking) {
return 'Meeting: ' . $guestName . ' with ' . $authorName;
}, 10, 5);Location: app/Models/Booking.php
fluent_booking/meeting_bookmarks
Allows you to add or modify bookmarks associated with a booking (e.g., links to external documents or records).
Parameters:
$bookmarks(array) - Array of bookmarks.$booking(object) - The booking object.
Return: (array) Modified bookmarks.
fluent_booking/location_details_html
Filters the HTML output of the location details for display in emails and customer confirmation pages.
Parameters:
$html(string) - The location details HTML.$details(array) - The location details data (type, description, etc.).
Return: (string) Modified HTML.
Location: app/Models/Booking.php
fluent_booking/after_booking_data
Filters the booking data after the booking record has been created but before status hooks fire.
Parameters:
$bookingData(array) - The booking data.$booking(object) - The newly created booking object.$calendarSlot(object) - The associated calendar event/slot object.$customFieldsData(array) - The custom form fields data.
Return: (array) Modified booking data.
Location: app/Services/BookingService.php
fluent_booking/schedule_validation_rules_data
Filters the validation rules and messages used when creating a booking schedule.
Parameters:
$validationConfig(array) - Array withrulesandmessageskeys.$calendarEvent(object) - The associated calendar event object.
Return: (array) Modified validation config.
Example Usage:
add_filter('fluent_booking/schedule_validation_rules_data', function($validationConfig, $calendarEvent) {
// Add custom validation rule
$validationConfig['rules']['phone'] = 'required';
$validationConfig['messages']['phone.required'] = 'Phone number is required';
return $validationConfig;
}, 10, 2);Location: app/Http/Controllers/BookingController.php, app/Hooks/Handlers/FrontEndHandler.php
fluent_booking/schedule_custom_field_data
Filters the processed custom field data for a booking.
Parameters:
$customFieldsData(array) - The processed custom fields data.$calendarEvent(object) - The associated calendar event object.
Return: (array|WP_Error) Modified custom fields data, or a WP_Error to abort.
Location: app/Http/Controllers/BookingController.php, app/Hooks/Handlers/FrontEndHandler.php
fluent_booking/initialize_booking_data
Filters the initial booking data array before it is passed to the booking service.
Parameters:
$bookingData(array) - Initial booking data containingperson_time_zone,start_time,end_time,slot_minutes,source, etc.$calendarEvent(object) - The associated calendar event object.$postedData(array) - The raw posted data from the request.
Return: (array) Modified initial booking data.
Location: app/Http/Controllers/BookingController.php, app/Hooks/Handlers/FrontEndHandler.php
fluent_booking/schedule_receipt_data
Filters the data passed to the booking confirmation template.
Parameters:
$confirmationData(array) - The confirmation template data.$booking(object) - The booking model object.
Return: (array) Modified confirmation data.
Location: app/Services/BookingService.php
fluent_booking/location_details_text
Filters the plain text version of the location details (used where HTML is not supported).
Parameters:
$text(string) - The plain text location details.$details(array) - The location details data.
Return: (string) Modified text.
Location: app/Models/Booking.php
fluent_booking/booking_meta_info_main_meta
Filters the main meta information displayed for a booking in the admin view.
Parameters:
$mainBodyContents(array) - The meta information content array.$booking(object) - The booking model object.
Return: (array) Modified meta content.
Location: app/Http/Controllers/SchedulesController.php
fluent_booking/booking_meta_info_main_meta_
Dynamic filter for booking meta information based on the booking source. The {source} is the booking's source value (e.g., web, admin).
Parameters:
$mainBodyContents(array) - The meta information content array.$booking(object) - The booking model object.
Return: (array) Modified meta content.
Location: app/Http/Controllers/SchedulesController.php
fluent_booking/public_event_vars
Filters the JavaScript variables passed to the frontend booking form for a specific event.
Parameters:
$eventVars(array) - The event variables for the frontend.$calendarEvent(object) - The calendar event object.
Return: (array) Modified event variables.
Location: app/Hooks/Handlers/FrontEndHandler.php
fluent_booking/public_ajax_ratelimit
Filters the rate limiting configuration for public AJAX booking requests.
Parameters:
$args(array) - Rate limit config with keys:limit(int),window(int, seconds),action(string).
Return: (array) Modified rate limit config.
Location: app/Hooks/Handlers/FrontEndHandler.php
fluent_booking/exporting_booking_data_csv
Filters the CSV data when exporting bookings.
Parameters:
$csvData(array) - The CSV rows data.$attendees(array) - The attendee/booking objects being exported.
Return: (array) Modified CSV data.
Location: app/Hooks/Handlers/DataExporter.php
fluent_booking/exporting_calendar_data_json
Filters the JSON data when exporting a calendar configuration.
Parameters:
$calendarData(array) - The calendar export data.$calendar(object) - The calendar model object.
Return: (array) Modified export data.
Location: app/Hooks/Handlers/DataExporter.php