How to Create a Booking Form in WordPress (+ Template)

Looking for a WordPress appointment plugin so you can let your clients schedule appointments online with a booking form? In this day and age, online appointment booking is vital for your business.

In this tutorial, we’ll show you how to create a hassle-free appointment booking form in WordPress using a plugin.

Here’s a table of contents to help you navigate the tutorial:

  1. Create an Appointment Booking Form
  2. Customize Your Appointment Booking Form
  3. Configure Your Appointment Booking Form’s Settings
  4. Customize Your Appointment Booking Form’s Notifications
  5. Configure Your Appointment Booking Form’s Confirmations
  6. Add Your Appointment Booking Form to Your Website
  7. Integrate WordPress Appointment Plugin with Google Calendar

Click Here to Make Your Appointment Booking Form Now

Video Tutorial

Here’s a video that shows you the whole process of adding a booking form to WordPress using WPForms.

WPForms is the best WordPress Form Builder plugin. Get it for free!

If you’d prefer to read the instructions, you can follow along below.

How to Use WPForms as a WordPress Booking Form

As the world’s best form builder, WPForms comes with many features and functionalities that can help you manage and organize your business online — including the ability to create appointment booking forms and a reservation form.

Want people to be able to login to your site? Check out our guide on creating a WordPress user registration form template.

Here’s step-by-step instructions to set up your appointment booking form with a template.

Step 1: Create an Appointment Booking Form

The first thing you’ll need to do to start taking booking requests online is install and activate the WPForms plugin. For more details, see this step by step guide on how to install a plugin in WordPress.

Next, you’ll need to create a form inside your WordPress appointment plugin. For help with this step, see our tutorial on how to create a simple contact form as an example to get started.

Simple Contact Form

The simple contact form can act as a booking form template and includes the following default form fields to gather personal details:

  • Name
  • Email
  • Comment or Message

If you need more contact information or other personal information, you can add additional custom fields to your form by dragging them from the left hand panel to the right hand panel. It’s completely customizable.

Then, click on the field to make any changes. You can also click on a form field and drag it to rearrange the order on your contact form.

The same template will work for other types of bookings too, even veterinarian patient intake forms. You can set the whole thing up exactly the way you need it.

Step 2: Customize Your Appointment Booking Form

For our example, we’ll create a form that lets site visitors choose a salon service and pick the day and time they want to come in.

To start, we’ll drag the Multiple Choice form field from the left hand panel to the right and click on it to make changes.

Client Booking Form Multiple Choice

We’ll give clients 3 services to pick from when they want to book an appointment at the salon.

If you want to allow people to choose more than one option, use the Checkboxes form field instead.

simple booking form template checkboxes

Now, too add a booking form to your website that has specific times,  you’ll need to add the Date/Time form field so customers can choose which day and time they’d like to visit the salon.

Locate the Date/Time field from the left hand panel and drag it over to the right hand panel.

completely customizable accept appointments date and time

Next, click on the form to make edits.

Client Booking Form Date and Time

Notice we made the following changes:

  • Label: add a title to your form field letting customers know that they need to request a date and time to come in
  • Format: choose whether to ask people for a date, a time, or both
  • Description: add some helpful text below the form field so people know how their appointment booking will be confirmed
  • Required: click the “Required” checkbox to make sure people can’t submit your appointment booking form without requesting a date and time

When all your form fields are customized to your liking, click Save.

Step 3: Configure Your Appointment Booking Form’s Settings

There are several settings to configure when creating a client booking form in WordPress. We’ll start with the general settings first.

To start, go to Settings » General.

reservation form wordpress site

Here you can configure the following settings like:

  • Form Name — Change the name of your form here if you’d like.
  • Form Description — Give your form a description.
  • Submit Button Text — Customize the copy on the submit button to customize your booking form design.
  • Spam Prevention — Stop contact form spam with the anti-spam feature or Google reCAPTCHA. The anti-spam checkbox is automatically enabled on all new forms.
  • AJAX Forms — Enable AJAX settings with no page reload.
  • GDPR Enhancements — You can disable the storing of entry information and user details, such as IP addresses and user agents, in an effort to comply with GDPR requirements. Check out our step-by-step instructions on how to add a GDPR agreement field to your simple contact form.

Click Save.

Step 4: Customize Your Appointment Booking Form’s Notifications

Notifications are a great way to send an email whenever a client books an appointment using your WordPress form. This makes the client booking experience easier since you can reach out right away.

booking enquiry form template notifications

In fact, unless you disable this feature, whenever someone goes through the booking process and books an appointment on your site, you’ll get a notification about it through your WordPress booking plugin.

If you use smart tags, you can also send a notification to your client when they book an appointment, letting them know you received their appointment request and will be in contact shortly. This assures site visitors their forms have gone through properly.

For help with this step, check out our documentation on how to set up form notifications in WordPress.

And, if you want to send more than one email, read this article on how to create multiple form notifications in WordPress.

Lastly, if you want to keep branding across your notification emails consistent, you can check out this guide on adding a custom header to your email template.

Custom Email Header in wordpress appointment plugin

Step 5: Configure Your Appointment Booking Form’s Confirmations

Form confirmations are messages that display to site visitors once they submit an appointment booking form on your website. They let people know that their appointment request has been received and offer you the chance to let them know the next steps and send them time slots.

WPForms has 3 confirmation types to choose from:

  1. Message. This is the default confirmation type in WPForms. When a site visitor books an appointment, a simple message confirmation will appear letting them know it was received. Look here for some great success messages to help boost customer happiness.
  2. Show Page. This confirmation type will take site visitors to a specific web page on your site thanking them for booking an appointment. For help doing this, check out our tutorial on redirecting customers to a thank you page. In addition, be sure to check out our article on creating effective Thank You pages for boosting customer loyalty.
  3. Go to URL (Redirect). This option is used when you want to send site visitors to a different website.

Let’s see how to set up a simple form confirmation in WPForms so you can customize the message site visitors will see when they book an appointment on your website.

To start, click on the Confirmation tab in the Form Editor under Settings.

Next, select the type of confirmation type you’d like to create. For this example, we’ll select Message.

date and time form builder in wordpress appointment plugin

Then, customize the confirmation message to your liking and click Save when you’re done.

For help with other confirmation types, see out documentation on setting up form confirmations.

Step 6: Add Your Appointment Booking Form to Your Website

After you’ve created your client booking form, you need to add it to your WordPress website.

WPForms allows you to add your forms to many locations on your website, including your blog posts, pages, and even sidebar widgets.

Let’s take a look at the most common post/page embed option.

To start, create a new post or page in WordPress and then click on the Add WPForms icon.

completely customizable appointment plugin for wordpress

Next, select your client booking form from the dropdown in the WPForms widget.

wordpress appointment booking plugin tool

Then, click on the blue Publish button in the top right corner to publish your post or page so your client booking form will appear on your website.

appointment form plugin integrates with google calendar

Step 7: Integrate WordPress Appointment Plugin with Google Calendar

To make managing your client appointments much easier, you may want to considering syncing your WPForms entries to Google Calendar.

That way, all booking info is automatically sent to your Google Calendar. It saves you to hassle of having to manually enter each client appointment booked through your website.

wordpress appointments plugin integrates with google calendar

To do this, check out our tutorial on sending WPForms entries to Google Calendar.

Want to let users keep track of the appointment? Be sure to read about how to include an add to calendar option to your WordPress forms.

Click Here to Make Your Online Booking Form Now

In Conclusion

And there you have it! You now know how to accept appointments online and create an appointment booking form in WordPress.

Want to accept payments from your clients at the same time they submit their booking request form? Check out our post Stripe vs Paypal to decide which one works better for you. We also integrate with Authorize.Net.

So, what are you waiting for? Get started with the most powerful WordPress forms plugin today and add a booking form to your website with a WordPress appointment plugin.

And don’t forget, if you like this article, then please follow us on Facebook and Twitter.

Using WordPress and want to get WPForms for free?

Enter the URL to your WordPress website to install.


  1. I will like the user to be able to see a preview of the form submitted and print it. Also that the preview form should have a distinct form no

  2. Do you have the ability to hide certain days of the week or times? Example: business isn’t open on Saturday or Sunday. Could those days be hidden? If yes, how would I go about that? Same example for times as well. If they are only open until 6:00 pm, for example, how could I hide time slots after 6:00 pm?

  3. Hi SYED

    WPForms gets a lot of positive reviews so I tried out the Lite version for evaluation. There’s hardly anything there and it’s basically a marketing tool to get you to upgrade to a paid version. My boss won’t pay for anything unless I’ve evaluated it, so I’ll have to go elswhere.

    1. Hi Jeremy,

      I’m sorry to hear you weren’t satisfied with the free version of WPForms. If you have any questions or concerns you’d like to address, please definitely let us know.


  4. Hi,

    first of all, want to thank you for the informative article about the product!

    I need a form that witch after submitting makes the product inactive on the field “select”. Can we do that with your wpforms?

    Thank you in advance,

    1. Hi Dimitrios,

      We don’t have a way to do this right now, but I’ve made a note on our feature request list so we can keep it on our radar! Thanks for the suggestion 🙂

    1. Hi Marnix,

      We don’t have a way to do this right now, but I’ve made a note on our feature request list so we can keep it on our radar! Thanks for the suggestion 🙂

  5. This is straightforward enough, but I don’t see a way to prevent something like double bookings since it just adds to the Google Cal but doesn’t block out dates/times based on availability. Is there a way to check the calendar to make sure no one has already scheduled that time slot?

    1. Hi Andrew,

      Unfortunately we don’t have a way to do this right now, but I’ve made a note on our feature request list so we can keep it on our radar! Thanks for the suggestion 🙂

  6. Hi there , thanks for the nice plugin.
    We also need to block dates/times based on availability. We were able to achieve that with other plugin. but we wold love to have this in wpforms. Do you have any updates on this metter? or is in your roadmap ?
    Thanks agains for the nice job

    1. Hi Lucas!

      Currently, we don’t have the time ocupation feature in WPForms. I do agree it would be super helpful, though. I’ve made a note of the feature request and we’ll keep it on our radar as we plan out our roadmap for the future.

      Have a good one 🙂

  7. This feature looks awesome, but I don’t want the submissions sent directly to my Google Calendar.

    Is it possible to attach a link/button on the form submission that I can click to add it to Google calendar IF I approve the request from the customer?

    1. Hi Jørn, thanks for your question!

      You should be able to achieve this by adding a custom link to the Notification email sent to you under the form Notification settings.
      The link should contain all the needed parameters to be able to generate a calendar event, such as:
      And you can take the values for those parameters from the form submission through the fields’ Smart tags.
      In case it helps, we have a great tutorial on how to use Smart tags in the form notifications.

      I hope this helps!
      Have a good one 🙂

  8. Please when a customer books with the form I created, where would I receive the email?? Is it on the WPForm in my WordPress or on my Google email . Thanks

    1. Hi Lawrence!
      Yes, you can absolutely set up automatic form notification emails, for both yourself and anyone else you like (including the person who filled out the form). We have a great tutorial on that here
      The notification email will be sent to the email address chosen in the notification settings.
      I hope this helps.
      Have a good one 🙂

  9. Hello, I am using you form for taking online order and it is working well.

    I would like to add the option of selecting a collection day but want to allow a 24 hour gap to prepare orders before collection. Is there a way of block off the next day ? For example orders placed on Monday cannot be collected on Tuesday the user has to select from Wednesday onwards.

    Many thanks in advance.

  10. Are there any plans to add Zoom integration with the Appointment Booking Form? If so – would this be implemented with OAuth tokens or just API key? Thanks!

    1. Hey Alexis – That sounds like an interesting integration to have! I do agree it would be super helpful, and we’ll keep it on our radar as we plan out our roadmap in the future.

      I am afraid I can’t provide any ETA or details at the moment but I will make sure to suggest to the dev team for future consideration.

      Have a good one 🙂

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.