How to accept bookings on a WordPress site
You can accept simple booking requests with a WordPress form and manage the calendar yourself. For live availability, payments, reminders, recurring appointments, and protection against double bookings, you need a booking plugin. The plugin route is the practical choice for most service businesses.
- 01Define your booking rules
- 02Choose manual or automatic bookings
- 03Install a booking plugin
- 04Create services and availability
- 05Configure payments and emails
- 06Publish and test the booking page
What you need
- A WordPress site with an active theme
- Administrator access
- Your services, opening hours, prices, and booking rules
- A working business email address
- A payment account if you will take deposits or full payment online
Define your booking rules
Write down what customers are booking before you build the page. List each service, duration, price, buffer time, available staff member, working hours, holidays, minimum notice, cancellation policy, and maximum advance booking period.
Also decide whether a booking is confirmed immediately or must be approved first. This prevents the common mistake of accepting a request for a time that is not actually available.
Choose manual or automatic bookings
For a small operation with occasional enquiries, create a booking page with a form that collects the customer name, email address, phone number, requested service, preferred date, preferred time, and notes. A form plugin can add a date field and email notifications, but it does not automatically reserve a time slot. You must check your calendar and reply manually.
This manual route is fine when you receive only a few requests each week. Its drawbacks are slower replies, more admin work, and a real risk of double booking if two people request the same time before you update the calendar.
Install a booking plugin
Use a booking plugin when visitors must see available slots and book without waiting for an email. A proper booking system normally provides an availability calendar, booking form, admin calendar, status management, and email notifications. Many also support time-slot appointments, full-day reservations, event registration, and online payments.
Install it through Plugins in the WordPress dashboard, activate it, and complete its setup screen. If you use a premium plugin, upload its ZIP file only from the vendor or another source you trust, then keep WordPress, the theme, and the plugin updated.
Create services and availability
Add each service with its duration, price, capacity, staff member, and required booking fields. Set regular working hours, breaks, days off, holidays, lead time, cancellation deadline, and how far ahead customers can book.
Set the WordPress timezone to the city where the business operates rather than a fixed UTC offset. Timezone mistakes can make slots appear at the wrong hour, especially around daylight-saving changes. Check availability as a logged-out visitor before publishing.
Configure payments and emails
Connect the payment gateway if you require a deposit or payment at checkout. Decide what happens when payment fails, a customer cancels, or an appointment is awaiting approval. Add confirmation, cancellation, rescheduling, and reminder emails where the plugin supports them.
Send test messages to an address you control. Booking support threads regularly report missing notifications, reminders sent for cancelled appointments, duplicate confirmations, and bookings that appear confirmed on screen even though the email never arrived.
Publish and test the booking page
Create a page such as /book, insert the plugin block, shortcode, or booking widget, and add a clear call to action from your service pages. Explain the appointment duration, price, location or meeting method, cancellation terms, and when the booking becomes confirmed.
Make a test booking on desktop and mobile, then test an unavailable slot, a cancelled booking, a failed payment, and each notification. For the fast route, use QuickCal, an all-in-one appointment calendar with payments, reminders, recurring bookings, and reporting for service businesses.
Let QuickCal do it
All-in-one appointment calendar with payments, reminders, recurring bookings, and reporting for service businesses.
Sources
- jetpack.com /resources/how-to-create-a-booking-form-in-wordpress/?utm_so…
- en-gb.wordpress.org /plugins/booking/?utm_source=openai
- wordpress.org /support/topic/duplicate-bookings-and-incorrectly-sent-confi…
Questions
- Can WordPress accept bookings without a plugin?
- WordPress can accept booking requests through a normal page, email address, or form, but it cannot manage live appointment availability by itself. You can ask visitors to choose a preferred date and then confirm manually. That works for low booking volume, but it will not reliably prevent two people requesting the same slot or send automated reminders.
- Do I need a booking plugin to take online payments?
- You generally need a booking or commerce plugin to connect a payment to a specific appointment. A payment form alone may collect money without reserving a slot, checking staff availability, or handling cancellations. Choose a system that supports your payment gateway and decide whether customers pay in full, pay a deposit, or pay later.
- How do I prevent double bookings on WordPress?
- Use a booking system that checks availability on the server when the appointment is submitted, not only a visual calendar. Configure staff, capacity, service duration, buffer time, and existing appointments correctly. Also test two bookings for the same slot and check bookings entered manually in the dashboard, because incorrect availability settings can still expose an occupied time.
- Why are WordPress booking confirmation emails not arriving?
- Confirmation emails commonly fail because the site has unreliable mail delivery, the notification rule is disabled, the customer entered the wrong address, or a status condition prevents the message. Send a test email, check the booking status rules, and configure authenticated SMTP if ordinary WordPress mail is unreliable. Do not treat the on-screen success message as proof that an email was delivered.
- Can customers book recurring appointments in WordPress?
- Yes, but recurring appointments normally require a booking plugin that supports repeating schedules. Configure the recurrence pattern, payment handling, cancellation rules, and what happens if one occurrence is unavailable. Check whether reminders are sent for each appointment and whether customers can reschedule one occurrence or the whole series before enabling the option.