Help Center
How to Use Booking with WooCommerce Based Mode

How to Use Booking with WooCommerce Based Mode

Learn how to expand the WooCommerce functionality using the JetBooking plugin, i.e. to apply seasonal/weekly prices, rates, sailing dates, additional products, and range prices; to allow selecting predefined additional booking services; to calculate total price considering the input number of guests and ordered services, as well as to manage orders via the JetBooking and WooCommerce dashboards.

Before you start, check the tutorial requirements:

  • Elementor (Free version) or Block Editor (Gutenberg)

  • WooCommerce plugin installed and activated

  • JetBooking plugin installed and activated

Set the JetBooking Settings

Select the Booking mode

Navigate to WordPress Dashboard > Bookings > Settings. Unroll the Booking mode drop-down menu of the General tab and select the “WooCommerce based” option.

woocommerce booking mode enabling
Things to know

This mode combines the benefits of the JetBooking and WooCommerce plugins; in particular, all booking data (basic price, rates, seasonal prices) are taken from the booking-related meta fields, and you can use WooCommerce available fields.

Additionally, the mode allows you to avoid building a booking form in the JetBooking backend dashboard. It disables the Check-in/check-out dates field block in the forms. Instead, it uses WooCommerce “Products” as a default CPT for booking instances and embeds a calendar for picking dates directly into the add-to-cart form on the Product’s single page. Then, after placing an order on the checkout page and making a payment, a new booking will be added to the booking list in the WordPress Dashboard > Bookings tab after completing the checkout.

Adjust the Settings Common for All Products 

To specify the settings common for all Products, unroll the needed Booking Settings (i.e., the Configuration or Schedule tab). In the given case, we unrolled the Configuration tab, picked the “Per Night (last booking day is not included)” Booking Period, and set the Min days and “Any day” End date.

configuration tab of the booking settings

Then, we configured available check-in and check-out weekdays in the Schedule tab.

schedule tab of the booking settings

Set the Additional Services Attributes

Create attributes and terms

Navigate to the WordPress Dashboard > Products > Attributes page. On this page, fill in the Name field and/or the Slug field (if you omit the Slug field, it will be filled in automatically) and select the “Booking Service” option in the Type drop-down. After that, press the “Add attribute” button.

In this case, we created the “Meals” and “Extra services” attributes.

adding booking service type attribute

After pressing the “Add attribute” button, the new attribute will appear in the list. 

attribute page of the woocommerce products

Click the “Configure terms” link on the right near the corresponding attribute, and then you will be redirected to the Edit attribute page. Here, type the Name of a new term, and the Slug field will be filled out automatically. Also, if needed, add the Description.

Next, move to the Service Cost field and insert the value that will be used in further calculations. If required, type the text in the Cost Format field that will be displayed on the front end near the corresponding item. Then, tick the Multiply cost by guests count toggle to multiply the attribute price by the number of guests and tick the Everyday service? toggle for the daily scheduled services. In the last step, press the “Update” button.

In this case, we created the “Breakfast,” “Lunch,” and “Dinner” terms for the “Meals” attribute and the following terms for the “Extra services” attribute: “SPA/Hammam/Massage,” “Transfer in/from station,” “Children’s play kit,” and “Pet-friendly services.” Also, we added the corresponding values in the Service Cost and Cost Format text fields for all terms and ticked the Multiply cost by guests count toggle for terms. The only exception was the activation of the Everyday service? toggle for the terms of the “Meals” attribute. 

In particular, for the “Lunch” term of the “Meals” attribute, we typed its Name (Lunch), and the Slug field was filled automatically; then, we filled out the Service Cost field (the “25” text), inserted the text in Cost Format field (%s per day). In this case, the “%s” text will be replaced with the value from the Service Cost field, and the “per day” text will be added after this value. Then, we ticked the Multiply cost by guests count and Everyday service? toggles. 

After completing these fields, we saved the changes.

setting booking attribute term options

Read the How to create Additional Services Attributes tutorial to learn more about customization of the attributes and terms.

Configure the Attribute settings of the product

Once completed editing terms, navigate to the WordPress Dashboard > Products > All Products tab, unroll the needed product from the list, and continue editing the product. Scroll down the Edit Product page to the Attributes section. Here, choose the needed Attribute from the Add existing drop-down list, and then you can press the “Select all” button under the Value(s) field. 

In this case, we first chose the “Meals” attribute and added the “Breakfast,” “Lunch,” and “Dinner” terms. In this way, we added all pre-created attributes and the corresponding terms.

After that, press the “Save attributes” button.

selecting attributes and terms for displaying on a booking page


Finally, after inserting all needed attributes and the corresponding terms, scroll the page up and click the “Update” button.

Create a Product

To create a new product, move the WordPress Dashboard > Products > Add New path or click the “Create the first product” link below the Booking mode drop-down menu if you are in the WordPress Dashboard > Bookings > Settings > General tab.

Then, you will be directed to the Products > Add New page.

The Add new product page has the “Simple product” type by default, which is set in the Product data drop-down list.

add new product tab

To benefit from the “WooCommerce based” mode functionality, select the “JetBooking” Product data. Once chosen, this option activates the booking meta fields, such as Pricing Settings (i.e., rates, seasonal/weekly prices), Custom Schedule, etc. These settings are globally configured on the booking settings page (WordPress Dashboard > Booking > Settings tab), but the settings configured here are a priority.

Also, after choosing the “JetBooking” Product data option, you can tick the newly-appeared Has guests checkbox field.

selecting jetbooking product type

Then, the Guests tab will appear under the Attributes tab. Unroll this tab and type the minimum number and maximum number of guests allowed in the Min guests and Max guests fields. In the last step, you can tick the Multiply cost by guest count checkbox to calculate the total cost for all guests.

In this tutorial, we ranged the minimum and maximum guest numbers from “1” to “5” and ticked the Multiply cost by guest count checkbox.

setting the number of guests allowed

Fill in the Product Meta Fields

Fill in the needed meta fields. First, we added the product’s name and filled in the Product description, Product Image, etc. Then, we moved to the Pricing Settings block and pressed the “Add rates” button. In the newly-appeared Set up advanced pricing rates pop-up, we specified the needed values in the From and Price fields. When completed, we clicked the “Save” button.

setting up advanced pricing rate

Next, to set specific options for this product that differ from common settings for all products, move to the Custom Schedule block (activate the Use Custom Schedule toggle to select required options) and the Date Picker Config block (enable the Date Picker Configuration toggle).

specific product settings

Once completed, press the “Publish/Update” button.

Add a JetWooBuilder Template

To provide better usability, we recommend setting the JetWooBuilder Single template to display products. To do this, we moved to the JetWooBuilder Template Settings block and selected a Custom Template.

adding jetwoobuilder template

For an in-depth understanding of how to create a template using the JetWooBuilder and JetThemeCore plugins, activate the needed widgets, and manage their settings, read the How to Create a Single Product Page Template tutorial.

Once completed, navigate to the top of the page and press the “Publish/Update” button.

Check the Result

Press the permalink of the product to redirect it to the product page.  

product permalink

The front-end view of the product page displays the native fields of the WooCommerce Product page. The Price range specified in the product settings will be shown as the minimal pricing rate (with the “From” text). Thus, the price is displayed dynamically. Also, this page shows the added attributes and the corresponding terms as checkboxes.

If you use the JetWooBuilder plugin, the price range will be displayed via the Single Price widget, as well as the Single Add to Cart widget will show the selected Attributes and Terms as checkboxes. 

 price range field and attributes on the front end

After selecting the booking dates and pressing the “Book Now” button, the product will be added to the cart and will be available for the time set in the Booking hold time drop-down menu of JetBooking’s General settings.

After selecting the needed number of guests, booking dates, and additional services, the total price will be calculated and returned.

the total booking price calculated on the front end

Then, press the “BOOK NOW” button to add the product to the cart for further proceeding with the order.

In this case, we used the pre-built Crocoblock’s dynamic template, which allows users to be redirected to the cart. Therefore, we clicked the newly-appeared “VIEW CART” button.

the booking item added to the cart

In this case, the Cart page displays the product title, check in and check out dates, selected number of guests, everyday services with the multiplication sign on the number of days, selected other services, and the calculated total price.

the booking item cart page

To place the order, press the “PROCEED TO CHECKOUT” button. Scroll down the page and, finally, press the “PLACE ORDER” button.

placing the order

Since the order was received correctly, a Thank You page appeared.

the order received page

Manage Bookings and Orders via Dashboard

The “WooCommerce based” Booking mode allows booking orders to be collected in JetBooking’s Bookings and WooCommerce Orders tabs and filled in the Upcoming Bookings section of the specific product.

Manage bookings via the JetBooking dashboard

order in the booking dashboard

Navigate to the WordPress Dashboard > Bookings > Bookings path. The Bookings tab displays all orders.

Also, you can observe the ordered booking instance in the calendar or timeline form by pressing the “Calendar” or “Timeline” button in the top right corner of the page.

booking orders displayed in a calendar view

If you need to edit the booking record via the Booking dashboard (i.e., to change its status), press the “Edit” button. The pop-up allows changing the Status, Booking Item, Check In, and Check Out dates, choosing the Guests, or selecting the Booking Services.

edit booking record pop-up

In this pop-up, you can correct the needed data. In this tutorial, we changed the number of guests from two to three. Also, the total price will be recalculated. To save the changes, press the “Save” button.

recalculated booking price

Additionally, you can press the number of the order in the Edit Booking pop-up or in the Related Order column of the booking list to be redirected to the appropriate WooCommerce order.

Manage booking orders via the WooCommerce dashboard

Unroll to the WordPress Dashboard > WooCommerce > Orders tab. This tab also displays the orders.

woocommerce booking order list

Select an order to see its details or take order actions.

woocommerce product details

Manage the product’s Upcoming Bookings section

After setting the booking order, the order will be added to the Upcoming Bookings section of the booked product.

product upcoming booking field


That’s all about implementing the WooCommerce functionality with the JetBooking plugin for your WordPress website.

Was this article helpful?
YesNo

Need help?

Ask Facebook community

Get answers from 22K Crocoblock Community experts from all over the world.

Start a live chat

Ask question to support agent and share its details via chat messages.