Get access to free tutorials, exclusive content and more.

How to Make a Booking Form for WordPress

Finding the booking plugin you need can be a challenge.

Want people to be able to schedule a date and time with you without worrying about double bookings? Send email notifications to yourself and confirmations to them? Customize it to look and feel just the way you want it? This is the appointment booking form for WordPress you’re looking for.

You’ve probably already discovered how many booking plugins are out there. Unfortunately, very few of them can both send emails and prevent double bookings. This one can… and you can even accept payment and send PDF confirmations, too!

Stop searching and start building the appointment booking form for WordPress that does what you need!

Building the appointment booking form for WordPress you need isn’t hard. Here’s how in 3 steps.

Let people schedule a date or time with you without having to worry about double bookings. Send an email confirmation to them and a notification of the appointment to yourself. This is perfect for basic appointment booking with clients, equipment rentals, internal meetings, and more.

And best of all, it’s simple to set up! All this requires is the core (free) Ninja Forms plugin + the Advanced Datepicker add-on.

Step 1: Create a new form or start from a template

All you need to get started is a basic form with a name and email field. You can start from scratch and add these easily, or start with the Contact Us form template and save a few extra seconds.

ninja forms blank ro contact us form templates for building a basic booking form for wordpress

Step 2: Add and configure a Date/Time field on the form

Grab the Date/Time field and add one to your form:

the date and time field can be clicked on in the add new field window to add it to the form

Now click the field in your form builder to open its settings. Configure the settings to allow whatever booking options you want to allow.

Decide if you want people to select a Date only, Time only, or both Date & Time:

the date and time field setting window allows you to select the mode (date only, time only, both date and time)

Set an appointment length and limit your hours if needed:

time settings include an option for 24 hour input, limiting hours to a specific range, and the length of appointment time in minute increments

**Minute Increment is the length of time you want each appointment to be for. Need to allow booking for a full day? Select the Date Only mode and use an HTML field to leave your users a note. Let them know the beginning and ending hours there!

Set the days your users can pick in the form, and set a submission limit for each date and time:

date time restriction settings for an appointment booking form in wordpressNumber of Submissions per Date/Time will limit the number of individuals that can select any one date/time. Use this to prevent double bookings in your appointment booking form for WordPress. When a date/time has been selected by the maximum number of people, that date/time will appear greyed out to future form visitors.

Disable These Dates will block any date you click on in the calendar below the Manually Enable/Disable Dates toggle. Enable These Dates blocks all dates by default, and only the ones you click on will be selectable by a user.

Step 3: Review your email notification & confirmation

If you started from the Contact Us template, you already have an Admin Email Notification and a User Email Confirmation. If you started from scratch, just add an email action from the Emails & Actions tab. Set one up to send to you, and the other to the user! Check our Sending an Email documentation for details if needed.

Got this far? Congratulations, you have a booking form that actually does what you need it to! Now what?

It’s really that simple. Ninja Forms + The Advanced Datepicker add-on really is all you need for flexible booking forms in WordPress. Pick up your copy today!

But now that you have a booking plugin for WordPress, what else can you do with your appointment booking forms?

Go beyond basic with date/time logic, accepting payments, email pdf copies of the booking, and more!

Want to display/hide fields of the form based on the date/time a user selects? Fire or not fire specific actions like email? Conditional Logic works with the Date/Time field! Drag and drop fields on your new form next to each other? That’s easy with Layout & Styles.

logic settings can target the date and time field

Pre-populate certain fields on the form if the user is already logged in? No problem with User Management.

Accept payments for each booking? Integrate with either Stripe Checkout, PayPal Express, or Elavon. Stripe Elements and Authorize.net are coming soon! Want to send a pdf with details about each new booking to yourself or users? PDF Form Submissions has you covered.

Comments are below, and we’re always looking for new things to build and features to add. What more would you want to do with your booking forms?