The FooEvents Bookings plugin extends FooEvents functionality by adding the ability to create bookable products such as recurring events, venue access and other bookable date and time specific services.
The FooEvents Bookings plugin can be used in a variety of different ways. It essentially gives you the ability to create bookable date and time slots which can be reserved or purchased on your website by your customers. You can also manage stock/inventory for each slot and date combination. All of this is achieved through a very intuitive drag and drop interface so there are no complicated settings!
This structure makes it possible to accommodate any event, venue or service that needs to sell access to a number of slots on single or multiple dates. For example, it can be configured to accommodate bookings for yoga classes, bus tours, ferry rides, museums, hair salons, tourist activities, training workshops, art classes, courses, music lessons, golf slots, chiropractor appointments and theme parks etc.
That said, there are a few instances where the FooEvents Bookings plugin is not currently a good fit. For example, it is not really suitable for bookings that span over multiple days, such as accommodation bookings or equipment rentals.
How It Works
The FooEvents Bookings plugin adds the following functionality to FooEvents:
Booking slots are managed via a drag and drop interface. This is included as a tab in the product settings.
To view these settings, navigate to:
WordPress Admin Area > Products > Edit Product > Product Data tabs > Bookings Settings
These are located in the Event Settings tab and determine how the slots are displayed on the site.
To view these settings, navigate to:
WordPress Admin Area > Products > Edit Product > Product Data tabs > Event Settings (Scroll down to the bottom)
Attendees will select the slot they will attend when purchasing a product. By default, the selection options are included on the checkout page and consist of two drop-down menus for the slot name and date. These options can also be enabled on the product page where attendees will be required to select a booking slot when adding the item to their cart.
Booking details are included in both HTML and PDF tickets.
FooEvents Check-ins Integration
Bookable events function differently to other events when viewed in the app and make use of custom screens that make managing bookings much simpler.
Create a Bookable Product
First create a standard event using FooEvents. Complete the generic fields and settings as needed and make sure that the product is set to Virtual and Downloadable.
Once your event is ready, go to the Product Data tabs and select Event Settings. Select the Bookable event type.
Go to the Booking Settings tab and create a new slot by selecting the + New Slot button.
When creating a slot, a date row will automatically be created. All slots must have a minimum of one date, as stock is managed on a date level.
Enter a name for the slot label (e.g. Morning Class) and, if required, enable the time fields by checking the Time option.
Using the Add Date button, enter all the dates when the slot is available. Set the amount of stock available for each date.
Once you have created your first slot with corresponding dates, you can either create a new slot or copy the existing slot using the Copy option. The copy option will duplicate the entire set which can then be modified as needed. This will save time should the slot occur on the same or similar dates (e.g Afternoon Class).
Stock is managed on a date level. This means that you can manage stock separately for each day that the slot is available. Stock can be set to the following:
- Unlimited – If the stock field is left empty for a specific date it will not be managed or limited for that specific day.
- Zero – When all stock has been exhausted for a specific day it will reflect as ‘0’. This means that no further bookings will be allowed for this date and the option will no longer display in the booking drop-down selectors.
- Numeric Value – Set the amount of spaces available by specifying a positive number (e.g. 250). When a booking is made, this number will automatically be deducted.
If you do not require the ability to manage stock on a slot/date level, you can make use of the standard WooCommerce product and variation stock functionality. To do so, you will simply need to configure the slots to use unlimited stock and then use the display options in the Event Settings to hide the booking stock availability notices. Please note that doing this will mean that the slots will share stock from the same stock pool and stock will not be limited on an individual slot/date level.
You can customize the terms that are used to describe bookings. Go to the Product Data tabs and select Event Terminology. Select the Bookable event type.
Here you can change the following:
- Slot – e.g. Class
- Date – e.g. Day
- Booking Details – e.g. Class Selection
Event Display Settings
Go to the Product Data tabs and select Event Settings. Scroll down to the booking display options.
Bookings selection order
Displays the order of bookings drop-down selectors as either Slot then Date OR Date then Slot.
Display booking slots and dates on the Product page, Checkout page, or both pages
Display the booking selection options on the product page, checkout page, or both the product and checkout pages. If set to display on the product page, the booking selection will be saved and carried over to the checkout page. Adding the booking slot to a cart does not reserve the slot. It is only booked and reserved once the payment is successful and the order status is changed to ‘Complete’.
Hide Booking Time in the Slot Drop-down
The slot drop-down selector includes the custom label that you entered as well as the slot time. If you do not wish to display the slot time in the selector or you would like to include it in the label name instead, you can disable the display of the time using this option.
Hide Stock Availability Notice
This will hide the availability notice that is displayed above the slot selection options. This is useful for a number of difference use cases such as:
- All slots are configured to use unlimited stock and therefore stock availability is not needed
- Stock is managed using the product or variation stock. In this instance, you can simply set the slots to use unlimited stock as this will ensure that stock is not restricted by the slots.
Show Stock Availability in the Date and Slot Drop-down
You can include the amount of stock available for each slot within the date drop-down selector by enabling this option.
Show out of stock booking dates
By default, if a date has no stock remaining then FooEvents will not display it in the date drop-down selector. This option can be enabled to ensure that FooEvents displays dates that do not have stock.
Go to the Product Data tabs and select Event Expiration. Scroll down to the Bookings Expiration option.
Enabling the option ‘Expire bookings‘ and set the booking to expire a set amount of time before the booking date/time. This will ensure that any expired/elapsed bookings will be automatically hidden from customers on your website, regardless of the amount of stock remaining.
Automatic Display Modes
In most cases, the FooEvents Bookings plugin will display separate slot and date drop-downs on the product and checkout pages. However, there are instances where it would be more appropriate to only display a single combined drop-down. If your bookable events only occur on a single day, or should your event only make use of single slot, the date and slot drop-downs will merge into a single drop-down.
Single-slot over multiple dates
If your event spans multiple days and does not require multiple selectable slots, the date/time drop-down fields will merge into a single drop-down field. This is done automatically.
Multiple slots for the same date
If only a single date is set for each slot (e.g. single-day event with multiple slots), the date/time drop-down fields will be merged into a single drop-down field making selection easier for your attendees. This is done automatically.
When a bookable product is purchased, a WooCommerce order is generated. When the order status is set to ‘Complete’ (usually after payment is made) a ticket is generated and the booking is confirmed.
NB: Booking slots are not reserved until the order status is changed to ‘Complete’.
To view tickets/bookings, navigate to WordPress Admin Area > FooEvents > Bookings. Here you can filter bookings by event, slot, and date.
Please note: Only Bookings that were created after the FooEvents Bookings plugin was updated to version 1.4.0 can be filtered down to date level. Bookings made before version 1.4.0 do not include a custom field called ‘WooCommerceEventsBookingDateTimestamp‘ which is used by the filters. You can add this custom field to past bookings by running a script that adds the custom field to all bookings/tickets that were generated before version 1.4.0. To make it easier for you to do this, we have created a simple plugin that will allow you to run the updates in batches. If you would like to proceed and add the timestamp custom field to previous tickets, please follow these steps.
You can modify a booking by selecting the booking title/ID. You can then change both the attendee information as well as the booking slot and date.
You can find out more information about FooEvents Tickets in the Help Center.
You can manage booking attendance using the free FooEvents Check-ins app. Bookable events function differently to other events when viewed in the app and make use of custom screens that make managing bookings much simpler. Tickets can also be scanned using the app to speed up the check-in process.
Booking slots will automatically appear in the FooEvents Calendar. A separate entry is included for each date and time instance. When selected, the product page will be displayed and booking details will reflect the date and slot of the item that was selected on the calendar.
Tickets for bookable events show the booking slot, date and time of the booking. If these details do not appear in your tickets, make sure that you have the latest ticket template by downloading it from the FooEvents Ticket Themes Gallery.