Appointment Hour Booking Blog

The easy way to create powerful booking forms for WordPress websites.

Blog / Appointment booking form with WooCommerce

Appointment booking form with WooCommerce

The commercial version of the plugin includes the WooCommerce add-on, allowing to integrate the forms created with the "Appointment Hour Booking" into the WooCommerce products. This way you can publish an appointment calendar field into a WooCommerce product and use the WooCommerce cart/checkout process.


For this integration you will need the Appointment Hour Booking plugin and the WooCommerce plugins installed. To integrate both plugins enable the WooCommerce add-on into the Appointment Hour Booking plugin:

enabling woocommerce addon

Then go to add/edit a WooCommerce product. The add-on inserts a box in the WooCommerce products as shown in the following image:

linking appointment to a woocommerce product

The setting fields are:

- Enter the ID of the form: Allows to indicate the form that will be associated to the product.

- Calculate the product price through the form: Allows calculate the price of the products through the appointment form.

- Minimum price allowed: The minimum price applied to the product.

- Activate the summary: Allows customize the fields included in the cart page of WooCommerce.

- Summary title: The summary title for the cart / checkout process and WooCommerce orders.

- Summary: The summary, it accepts the tags supported in the notification emails.

Note: If you want calculate the price of products through the appointment form, then be sure to set valid prices and you may want to display the cost below the calendar.

In most cases you should mark the WooCommerce product as "Single product", "Virtual", however this isn't a requirement.

Don't put the plugin plugin shortcode directly in the WooCommerce product page. Use instead the above settings area to indicate the ID of the Appointment Hour Booking form linked to the product.

Important Instructions:

Set the default status of the booking as "Pending" and the paid status as "Approved", click to see image with these settings. This way the booking request will be stored with "pending" status when added to the cart and won't block the availability until paid.

Use the "Status Update Emails add-on" (also included in the commercial version of the plugin) to send the emails needed on each status modification (in the case you need these additional emails).

How it works for the end user:

The Appointment Hour Booking form will appear into the WooCommerce product for selecting the appointment date-time (and other required fields if any) before using the "Add to cart" button. Example:

appointment product page

The rest of the booking process will be the WooCommerce process. The selected date-time and other fields data (if any) will appear integrated in the cart page:

woocommerce appointment cart

The checkout page will use the payment options setup for WooCommerce. Example:

woocommerce appointment checkout

The booking will appear listed in both the WooCommerce "Orders" and in the Appointment Hour Booking "Bookings" lists.

Feedback about these features will be welcome, feel free to open a support ticket for any question.