1. Documentation /
  2. Introduction to WooCommerce Bookings /
  3. Bookings: Action and Filter reference

Bookings: Action and Filter reference

Actions and filters listed on this page are specific to WooCommerce Bookings.

Note: This is a Developer level doc. If you are unfamiliar with code/templates and resolving potential conflicts, select a WooExpert or Developer for assistance. We are unable to provide support for customizations under our Support Policy.

Actions Available For Bookings

↑ Back to top

The following table includes actions that you can use with WooCommerce Bookings.

ActionArgsDescription
wc_bookings_updated Fires after a new plugin version is installed.
woocommerce_admin_booking_data_after_booking_detailsInt: Booking IDFires after customer select box when viewing/editing a booking in admin.
woocommerce_admin_process_booking_objectObj: Booking objectFires after data is processed when saving booking through admin, but before data is saved to the database.
woocommerce_after_add_to_cart_button Fires after the add-to-cart button in the single product add-to-cart template.
woocommerce_after_add_to_cart_form Fires after the booking form in the single product add-to-cart template.
woocommerce_before_add_to_cart_button Fires before the add-to-cart button in the single product add-to-cart template.
woocommerce_before_booking_form Fires before the booking form in the single product add-to-cart template.
woocommerce_before_booking_object_saveObj: Booking object, Obj: Data storeFires just before saving to the database, allows for adjusting object properties before save.
woocommerce_booking_{ status }Int: Booking ID, Obj: Booking objectFires when a booking is changed to { status }.
woocommerce_booking_{ status_from }_to_{ status_to }Int: Booking ID, Obj: Booking objectFires when a booking is changed from { status_from } to { status_to }.
woocommerce_booking_process_metaInt: Booking IDFires after data is processed when saving booking through admin, and after data has been saved to the database.
woocommerce_bookings_after_booking_base_costInt: Product IDFires after base cost of product in admin.
woocommerce_bookings_after_booking_block_costInt: Product IDFires after block cost of product in admin.
woocommerce_bookings_after_booking_pricing_base_costArr: Pricing for product, Int: Product IDFires after base cost modifier in pricing rules for product in admin. Remains in table cell.
woocommerce_bookings_after_booking_pricing_costArr: Pricing for product, Int: Product IDFires after block cost modifier in pricing rules for product in admin. Remains in table cell.
woocommerce_bookings_after_bookings_pricingInt: Product IDFired after pricing rules are rendered for product in admin. Outside of table body.
woocommerce_bookings_after_create_booking_page Fires after options, but before Next button when creating a booking through admin. Remains in table.
woocommerce_bookings_after_display_costInt: Product IDFires after display cost of product in admin.
woocommerce_bookings_after_person_block_costInt: Person type IDFires after the person type block cost is output in admin. Remains in table cell.
woocommerce_bookings_after_person_block_cost_columnInt: Person type IDFires after the person type costs are output in admin. Remains in table row.
woocommerce_bookings_after_person_costInt: Person type IDFires after the person type base cost is output in admin. Remains in table cell.
woocommerce_bookings_after_person_max_columnInt: Person type IDFires after the person type min/max fields in admin. Remains in table row.
woocommerce_bookings_after_resource_block_costInt: Resource ID, Int: Product IDFires after product’s resource block cost is output in admin. Remains in table cell.
woocommerce_bookings_after_resource_costInt: Resource ID, Int: Product IDFires after product’s resource base cost is output in admin. Remains in table cell.
woocommerce_bookings_before_delete_global_availability Fires before a global availability entry is deleted.
woocommerce_bookings_cancelled_bookingInt: Booking IDFires after a booking is cancelled.
woocommerce_bookings_create_booking_page_add_order_itemInt: Order IDFires after order is created when manually creating a booking with an order through the admin.
woocommerce_bookings_pricing_fieldsArr: Pricing for productFired after pricing rules are rendered for product in admin. Remains in table body.
woocommerce_delete_bookingInt: Booking IDFires when a booking is deleted/removed from trash.
woocommerce_new_bookingInt: Booking IDFires when a booking is created and added to the database. Such as when a booking is added to cart.
woocommerce_trash_bookingInt: Booking IDFires when a booking is moved to the trash.
woocommerce_bookings_update_google_clientGoogle_Client: Google API Client ObjectFires before any Google API request is made so a custom client ID and secret can be set.

Filters Available For Bookings

↑ Back to top

The following table includes filters that you can use with WooCommerce Bookings.

FilterPassedArgsDescription
woocommerce_bookings_calculated_booking_costInt: Booking CostObj: Product, Arr: Posted dataAllows booking cost modification before return from calculate_booking_cost(), which returns the calculated cost of a booking.
booking_form_fieldsArr: Field Arrays Can be used to edit the fields (duration, persons, resources, date) that are used on the booking form.
booking_form_paramsArr: Parameter strings (translated) Strings that are used for JavaScript notices to the user when using the calendar.
bookings_cancel_booking_urlStr: URL to cancel Allows modification of the cancellation URL for a customer to cancel their booking.
get_booking_products_argsArr: get_posts args Used in get_bookable_product_ids which uses get_posts to query all bookable products.
get_booking_resources_argsArr: get_posts args Used in get_bookable_product_resource_ids which uses get_posts to query all bookable resources.
wc_bookings_calendar_default_to_current_dateBool: true By default the calendar will default to ‘today’. If false is returned, calendar will default to first available booking date.
wc_bookings_get_time_slots_htmlStr: HTML time blocksArr: Available blocks, Arr: BlocksFilters the returned HTML of `wc_bookings_get_time_slots_html`.
wc_bookings_summary_list_dateStr: Booking dateInt: Starting timestamp, Int: Ending timestampCan be used to format the date in the bookings summary for orders and emails.
woocommerce_admin_bookable_resource_actionsArr: ActionsObj: ResourceActions shown in the admin list view.
woocommerce_admin_booking_actionsArr: ActionsObj: BookingActions shown in admin list view.
woocommerce_booking_cancelled_noticeStr: “Your booking was cancelled.” (translated)Str: Notice TypeMessage is displayed when user cancels their booking through My Account.
woocommerce_booking_form_get_posted_dataArr: Mixed dataObj: Product, Int: Duration LengthAll of the data posted to the Booking Form in a processed clean array.
woocommerce_booking_get_availability_rulesArr: Array of availability rulesInt: Resource rules apply to, Obj: Bookable productThe availability rules configured for a particular resource ID, if resource is 0, then for the product itself.
woocommerce_booking_has_statusBoolObj: Booking, Str: StatusUsed when checking if a booking has a set status.
woocommerce_booking_is_booked_on_dayBoolObj: Booking, Int: Start timestamp, Int: End timestampFilter the booking object’s is_booked_on_day method return result.
woocommerce_booking_json_search_order_numberStr: Search term The order number being searched for when editing a booking.
woocommerce_booking_requires_confirmationBoolObj: Bookable productWhether the bookable product is set to require confirmation or not.
woocommerce_booking_single_add_to_cart_textStr: “Book Now” (translated) Allows updates to add to cart button.
woocommerce_booking_single_check_availability_textStr: “Check Availability” (translated) Allows updates to add to cart button when booking requires confirmation.
woocommerce_booking_user_can_cancelBoolObj: Bookable productWhether the bookable product allows customer cancellations or not.
woocommerce_bookings_account_endpointStr: “bookings” Default endpoint for bookings in the My Account page.
woocommerce_bookings_account_tablesArr: Arrays of user’s bookings Tabular data being passed to the `myaccount/bookings.php` template to display a user’s bookings.
woocommerce_bookings_booked_day_blocksArr: Array of booked blocksObj: Bookable productArray of days that are fully or partially booked being returned to the calendar for display.
woocommerce_bookings_booking_cost_stringStr: “Booking cost” (translated)Obj: ProductText shown before the price when customer chooses date/time on the calendar.
woocommerce_bookings_data_labelsArr: Array of strings (translated) Labels used for bookings in places such as the cart.
woocommerce_bookings_date_formatStr: Date format from wc_date_format() Allows to change date format for everything Bookings.
woocommerce_bookings_date_picker_end_labelStr: “End” (translated) End label on a product’s calendar.
woocommerce_bookings_date_picker_start_labelStr: “Start” (translated) Start label on a product’s calendar.
woocommerce_bookings_email_actionsArr: Actions Array of actions used for triggering emails.
woocommerce_bookings_emails_icsArr: Email IDs Email IDs to attach ics (calendar) files to.
woocommerce_bookings_for_user_statusesArr: Array of statuses Array of statuses as `status => Status Name` (translated), used for statuses for bookings that are displayed in My Account > Bookings.
woocommerce_bookings_fully_booked_statusesArr: Array of statuses Array of statuses as `status => Status Name` (translated), used for statuses for bookings that block off time on the calendar.
woocommerce_bookings_get_duration_unitStr: Duration unitObj: Bookable productThe duration unit set for the bookable product.
woocommerce_bookings_get_end_date_with_timeStr: Date/time stringObj: BookingPasses formatted date/time string passed through date_i18n().
woocommerce_bookings_get_person_types_idsArr: get_posts args Used in get_person_types_ids which uses get_posts to query all bookable persons.
woocommerce_bookings_get_start_date_with_timeStr: Date/time stringObj: BookingPasses formatted date/time string passed through date_i18n().
woocommerce_bookings_in_date_range_queryArr: Booking IDs Booking IDs being returned after a date range query.
woocommerce_bookings_max_date_unitStrInt: ID of Bookable productThe unit/amount used for max date that a bookable product can be booked into the future.
woocommerce_bookings_max_date_valueIntInt: ID of Bookable productThe numeric value for max date that a bookable product can be booked into the future.
woocommerce_bookings_mdy_formatBool: true If switched to `false`, date format in calendar will be dd/mm/yyyy, else it’s mm/dd/yyyy.
woocommerce_bookings_min_date_unitStrInt: ID of Bookable productThe unit/amount used for min date that a bookable product can be booked into the future.
woocommerce_bookings_min_date_valueIntInt: ID of Bookable productThe numeric value for min date that a bookable product can be booked into the future.
woocommerce_bookings_override_form_default_datenullObj: Booking FormReturn value should be valid unix timestamp, which will default the calendar to the date specified.
woocommerce_bookings_process_cost_rules_base_costFloat|Str: Base Cost set in product Cost rulesArr: Fields for rule, Str: Key/ID for ruleThe base cost set for a cost rule under a product.
woocommerce_bookings_process_cost_rules_costFloat|Str: Block Cost set in product Cost rulesArr: Fields for rule, Str: Key/ID for ruleThe block cost set for a cost rule under a product.
woocommerce_bookings_process_cost_rules_override_blockBoolArr: Fields for rule, Str: Key/ID for ruleDeprecated
woocommerce_bookings_product_typesArr Single element array is passed. Used for testing if a product is a bookable product.
woocommerce_bookings_remind_before_daysInt: 1 Provides ability to increase the amount of days before a booking that a reminder email is sent.
woocommerce_bookings_remove_inactive_cart_timeInt: 60 Bookings are created when added to cart and are scheduled for deletion in 60 minutes if not purchased. Value can be changed to increase/decrease schedule.
woocommerce_bookings_resource_additional_cost_stringStr: Additional costObj: ResourceResource select boxes in the calendar contain additional cost if there is any, allows editing of the additional cost string.
woocommerce_bookings_scheduled_statusesArr: Array of statuses Array of statuses as `status => Status Name` (translated), used to determine if the booking should have events scheduled, such as reminder emails.
woocommerce_bookings_time_formatStr: return of wc_time_format() Allows to change time format for everything Bookings.
woocommerce_email_attachmentsArr: Attachments to emailsStr: The ID of the email, Obj: The email objectWooCommerce core filter for email attachments.
woocommerce_email_heading_{ email_id }Str: Email headingObj: Email objectWooCommerce core filter for email headings.
woocommerce_email_subject_{ email_id }Str: Email subjectObj: Email objectWooCommerce core filter for email subjects.
woocommerce_my_account_bookings_titleStr: “My Bookings” (translated) Page title for My Account > Bookings. (deprecated)
woocommerce_new_booking_dataArr: Data for new post Used when creating a new booking, if defaults needed to be changed.
woocommerce_new_product_dataArr: Data for new post Used when creating a new bookable product, if defaults needed to be changed.
woocommerce_register_post_type_bookable_personArr: Data for new post type Arguments passed when creating the `bookable_person` custom post type.
woocommerce_register_post_type_bookable_resourceArr: Data for new post type Arguments passed when creating the `bookable_resource` custom post type.
woocommerce_register_post_type_wc_bookingArr: Data for new post type Arguments passed when creating the `wc_booking` custom post type.
woocommerce_valid_booking_statuses_for_cancelArr: Array of statuses Array of statuses as `status => Status Name` (translated), used to determine if a booking is in a status that can be cancelled.
woocommerce_bookings_calculated_booking_cost_success_outputStr: Output string Provides the ability to modify the string being shown to the user for the cost (useful for low inventory or fee structure type outputs)
woocommerce_bookings_my_bookings_past_order_byStr: Order by field for past bookings query. Allows modification of past bookings list order for My Account > Bookings view.
woocommerce_bookings_my_bookings_past_query_argsArr: filters for past Bookings query. Allows modification of query for bookings displayed for past on My Account > Bookings view.
woocommerce_bookings_my_bookings_today_order_byStr: Order by field for today bookings query. Allows modification of today’s bookings list order for My Account > Bookings view.
woocommerce_bookings_my_bookings_today_query_args
Arr: filters for today’s bookings query.
Arr: filters for today’s bookings query.Arr: filters for today’s bookings query. Allows modification of query for bookings displayed for today on My Account > Bookings view.
Arr: filters for today’s bookings query.
Arr: filters for today’s bookings query.
woocommerce_bookings_my_bookings_upcoming_order_byStr: Order by field for upcoming bookings query. Allows modification of upcoming bookings list order for My Account > Bookings view.
woocommerce_bookings_my_bookings_upcoming_query_argsArr: filters for upcoming bookings query. Allows modification of query for bookings displayed for upcoming on My Account > Bookings view.