Setting up- Bookable Product using AFM


Brief illustration : If your site offers services that need to be pre-booked, booking product type was what you were looking for. Advanced Frontend Manager now lets your vendor add bookable products from their dashboard itself.

This will let your customers book reservations, appointments or rentals on their own – no phone calls required. Save yourself time and fill up your calendar by letting your site do the work for you. It lets customers book classes, schedule appointments, or reserve items as per their choice.

Installation & Licensing

To know about the installation and licensing of AFM please visit our installation and licensing guide here.

After you’ve activated and licensed your copy of Advanced Frontend Manager, install and activate WooCommerce Bookings

Allow vendors to upload Booking Product Type

Check the box for “Booking” under Capabilities in WCMp Settings. The configuration couldn’t be simple enough! 🙂

Reference 1: Allow vendors to upload Booking Product Type

Add booking product type using AFM

Go to Add Product page under Product Manager from the Vendor Dashboard.

Add a Product Name (title), description, product image(s) in the first section.

To add an image or an image gallery that your product will reckon with, click on the “Featured Image and Product Gallery” section. Then click on the Upload button to upload a featured image whereas to add a gallery of images, click on the Add Product Gallery Images to add more images to your gallery.

Moving to the second section – Select Booking from the Product Type drop-down menu.

Enable the Virtual checkbox, if your product is a digital product or does not require shipping. This removes the Shipping tab from your product.

Enabling the Has Persons checkbox, a new tab is added – Persons, which allows the booking to be made for multiple persons at once.  We’ll learn more on this later in this documentation.

Resources are used if you have multiple bookable items, e.g. room types ( Deluxe, Executive etc.).  If the Has Resources checkbox is enabled, a new tab is added – Resources, which allows booking of available resources separately. Details about this tab will be discussed later in this documentation.

Booking Duration under General Tab determines how long a booking lasts. The duration can be admin defined (fixed block) or customer defined (they need to input on the front-end). Duration units can be Hours, Minutes, Days or Months.

Fixed blocks have a set duration that you define. The customer can only choose one block/ period which will last the defined amount of time. For example, a spa appointment lasts one hour and you can only book one at a time.

Customer-defined blocks have a set duration, but the customer can choose how many blocks/ intervals they want. For example, the banquet hall space is rented out in hourly intervals, and the customer can define how many 1 hour blocks they would like to rent.

If you set your Booking duration to be customer defined, you can include a minimum and maximum allowed value in Minimum duration and Maximum duration respectively. This allows for a more flexible starting schedule. You can define 1 hour blocks and set the minimum to 2 blocks. Your customers now need to book at least two hours.

Select whether to always show the calendar or only when clicked, by default the calendar is set to always show.

If the booking needs confirmation by the Admin, enable the Requires confirmation? checkbox. The customer inputs details at checkout instead of making the payment and submits them for approval. If the Requires Confirmation checkbox is checked, only the Check Availability option is shown when checking out. Once the booking is approved, the customer receives another email to then submit payment.

You may choose whether you want the user to have the option to cancel their booking. If you want to allow the same, check the box for Can be cancelled? after selecting the option, two fields appear that lets you choose how many Minutes/Hours/Days/Months prior to the start date that customers can cancel a booking.

To set costs for the blocks add them in the Costs tab: Base cost is applied regardless of a customer’s choices on the booking form.
Block cost is the cost per block that was assigned to the General tab. If a customer books multiple blocks, this cost is multiplied by the number of blocks booked.
Display cost does not affect the actual cost of the product. The cost is displayed to the user on the frontend. Leave blank to have it calculated for you. If a booking has varying costs, the lowest available cost is shown and is prefixed with the word “From:”. You can also set a Pricing Range which works somewhat like the Availability Range.

Adding a value to Max bookings per block under Availability tab allows multiple bookings at the same time. With a fixed booking of 1 day and maximum bookings per block set to 3, then each day you can accept three bookings.

If today is 1st January and you set minimum block bookable to 1 month into the future, then the first date a customer could book would be 1st February. The same applies to the maximum date bookable.

Require a buffer period is nothing but a gap between bookable slots. This period will be unavailable for any booking. For example, if you sell services in 1-day blocks and wish to have a break of 1 day between them, you can specify a buffer period.

If you add a buffer before and after your appointments, enable the Adjacent Buffering checkbox. This option adds the specified block both before and after each booking. Defining a buffer period of one hour between booking with adjacent buffering will result into 2 hours between bookings. Buffer periods are always defined in the same time measurement (minutes, hours or days) chosen for blocks. If you want to have a 30-minute buffer between your 1-hour appointments, be sure to use 60-minute blocks instead of 1-hour blocks.

In the All dates are field: Available by default means all blocks are available and you can make some blocks unavailable with rules, where Not Available by default means all blocks are not available and must be made available through availability rules.

If you set Check rules against to All blocks being booked – It will check all the available blocks within a duration. However, if you set it to Starting block only, it will check against the first block the user selects.

What if you want to allow customers to start their appointment bookings only on Sundays? You would first check the Restrict start days? box, then choose Sunday, or the day(s) you would like to restrict the booking to start on. Restricting start days does not affect availability, other days are still available, they just can’t be selected as the days that bookings start on.

You can set availability rules in the rules section, From and To is decided by the Type you select, whether the slot is Bookable or not is to be set it the specific section.

To add similar items to the current product that is being viewed or has been ordered for, add your products in the Up-sells or Cross-sells as required under “Linked Products“.

You can set a minimum and maximum limit for a number of persons. Similar to duration, the customer can input a value on the frontend booking form, if enabled. If you check the box for Multiply all costs by person count, all costs are multiplied by the number of persons the customer defines. If Count Persons as Bookings is enabled, the person count is used as the quantity against the block. Remember the max bookings per block setting above? That determines the upper limit for allowed persons per block. Once the limit is reached, more persons cannot book. You can also set different prices for different person types.

Attributes define a product. You can either add a new attribute that was not previously created or you can choose from a pre-defined global list of attributes set by the admin.

There are two types of bookable resources:
Customer selected – A booking form shows a dropdown list of resources that the customer can select.
Automatically assigned – A resource is automatically assigned to a customer booking if available. If New resource is selected from the dropdown which consists of the global resources(read more about global resources in this documentation) created earlier and then click Add/link Resource, you are asked to enter the resource name. Once entered, a new global resource is created in the system, which when created by a vendor strictly remains accessible by that vendor and the admin only. However, if an existing global resource is selected from the dropdown, you will see two extra pricing fields. The base cost is applied when the resource is chosen; the block cost is multiplied by the number of blocks booked. The costs of each resource will be added to the price of the bookable product to allow for different prices depending on the resource chosen.

Advanced tab – Add a note that can be sent to the customer after the product is purchased in the Purchase Note textarea. The ordering position of the product is determined by the number entered in Menu order. Enable/Disable customers feedback for the item by checking/unchecking Enable reviews.

Policies tab – Add shipping, refund or cancellation/return/exchange policy.

Under the “Product Category & Product Tags” section, tick those categories which fit your product. Select your own product tag or you can add your own tag in the product tags section.

Add a short description of your product in the following section.

*For more informaton, refer to this documentation :


Reference 2: Add booking product type using AFM

P.S. Have more ideas to share or facing a hard to explain issue? Our quick support will definitely help you in the right direction… that’s a word you can trust.

Having trouble or need further help! Reach us!!
Last updated on December 31, 2019
Found any error... Submit your feedback
Was this helpful?

Buy all Marketplace addons together, check out our Bundle

Buy at Slashed Price