Key Insights
- WooCommerce appointments turn any time-based service into a bookable product. Clients book their own slot, payment processes at checkout, and confirmation goes out automatically. No front desk required.
- The single biggest source of no-shows in appointment-based businesses is the absence of upfront payment. WooCommerce appointments with payment-at-booking close that gap at the point of confirmation, not after the fact.
- Staff assignment in a WooCommerce appointment setup means each provider gets their own calendar, availability, and pricing. Clients choose who they want at booking, and the system manages the rest.
- Appointment data and retail sales sitting in the same WooCommerce dashboard removes the reconciliation problem that standalone booking tools create. One record, one payment system, one customer history.
WooCommerce appointments let any service-based business take bookings directly from their WordPress store, without using a third-party scheduling tool or paying monthly subscription fees to a platform that owns your customer data.
Think about the last time you tried to book something online and hit a clunky form, a broken calendar, or a “we’ll call you back” message. That friction costs businesses real money every day. Customers move on. The appointment never happens.
This guide walks through exactly how WooCommerce Bookings works, what you need to set it up properly, and why the WooNinjas WooCommerce Bookings Add-on is one of the most practical options for service businesses running on WooCommerce.
The Problem with Manual Scheduling (and Why WooCommerce Fixes It)
Most service businesses start with a phone, an email address, and a notebook. That works for a while. Then the bookings start coming in faster than you can respond. You start double-booking. You forget to send reminders. Customers cancel with no notice because there’s no policy in place. Sound familiar?
Adding a WooCommerce Bookings plugin to your site fixes the root cause. Every service becomes a bookable product. Customers choose their date and time, see exactly what’s available, and confirm through your checkout. Payments happen at the point of booking. Confirmation emails go out automatically. You get a proper order record in WooCommerce, the same as any other sale.
That last part matters more than people realise. When appointments run through WooCommerce, your booking data and your sales data live in the same place. One dashboard. One customer record. One payment system. No separate booking platform is eating into your margins.
What Good WooCommerce Appointment Booking Looks Like
Not all booking setups are created equal. Before you pick a plugin, it helps to know what a well-configured appointment system actually needs to do. Here’s the short list:
- Time-slot selection. Customers pick a specific date and time from your available slots. No guessing, no back-and-forth.
- Staff assignment. If multiple people deliver your service, customers should be able to choose their preferred staff member, and the system manages their individual availability.
- Buffer time. A gap between appointments to prep, reset, or travel. Automatic, not manual.
- Blackout dates. Block off holidays, training days, or any period you’re unavailable, without touching every individual slot.
- Cancellation and rescheduling. Customers handle their own changes from their account, within rules you define.
- Zoom and Google Meet links. For virtual appointments, meeting links should generate and deliver automatically when a booking is confirmed.
- Booking reports. A single view of every appointment across every service and staff member, filterable and searchable.
When all of those work together, your scheduling runs with very little manual oversight.
WooNinjas WooCommerce Bookings Add-on: Built for Appointment-Based Businesses
The WooNinjas WooCommerce Bookings Add-on was built specifically for service-based businesses that run on WordPress. With more than 5,000 businesses using it across healthcare, fitness, consulting, beauty, and professional services, it covers the full appointment booking workflow inside WooCommerce, at a price that starts at $79 per year for a single site.
The plugin uses an Appointment booking type designed for time-slot scheduling. You set your working hours, define slot durations, add staff, configure buffer time, and set pricing. Customers see a live availability calendar on your product page, pick their slot, and check out. The whole flow works exactly like buying a product from your store.
For virtual services, the plugin connects directly with Zoom and Google Meet. When a customer books a virtual appointment, a meeting link is generated and delivered in the confirmation email, with no manual setup. You can read more about that in the WooNinjas Zoom and Google Calendar setup guide.
Got a more specific setup in mind? Maybe you run a multi-location clinic, a salon with six stylists, or a consulting firm where each advisor has a different schedule. The WooNinjas team builds custom WooCommerce Bookings configurations for businesses with exactly those kinds of requirements. Schedule a free call with a WooCommerce expert and tell us what you need.
How to Set Up WooCommerce Appointments Step by Step
Setting up your first WooCommerce appointment product is done from the WooCommerce product editor. Here’s how the configuration works.
Step 1: Create the Bookable Product
Add a new WooCommerce product and set the product type to “Bookable Product.” Select the Appointment booking type. This activates the time-slot interface and opens the scheduling configuration options. Give the product a name that matches the service, like “30-Minute Consultation” or “Haircut and Style.”

Step 2: Configure the Booking Settings
Once the Appointment booking type is selected, fill in the following fields to configure the booking product:
- Booking Title / Service Name (optional)
- Start Date
- End Date
- Booking Duration
- Buffer Time
- Attendees Count (Min and Max fields; optional)
- Assigned Resource / Staff (optional)
- Auto-cancel pending/failed orders after 24 hours (optional)
- Cancellation Threshold (hours)
- Show Timezone on Booking Times (optional)

Location tab:
- Location Type (physical or virtual)
- Physical Location
- Virtual Platform
- Link Generation Type
- Virtual Meeting Link

Availability tab:
- Available Days
- Available Time Range
- Blackout Dates (optional)

Pricing tab:
- Regular Price
- Sale Price (optional)

Full configuration details are available in the WooNinjas Bookings documentation.

Managing Appointments from Your Admin Dashboard
Once appointments start coming in, the Booking Reports section of your WordPress admin gives you a consolidated view of everything. Every WooCommerce appointment across every service and staff member sits in one place, filterable by customer, product, date, or order number. Each record shows the booking date and time, customer contact, product name, the platform (Zoom or Google for virtual appointments), status, and a direct link to the order.
That platform column is particularly useful for service businesses running a mix of in-person and virtual appointments. You can see at a glance which bookings have a Zoom or Google Meet link attached, and jump straight to that link if you need it.
For bookings taken over the phone or in person, the manual booking wizard lets staff create a proper WooCommerce order without the customer going through the front end. Staff select the customer, choose the product, pick the time slot and any add-ons, and set the payment status. The result is the same order record, the same confirmation email to the customer, and the same entry in your booking reports.

The Booking Reports dashboard shows appointment bookings with Zoom and Google Meet platforms, meeting times, status indicators, and order links.
Virtual Appointments: Zoom and Google Meet Built In
One of the most useful features for service businesses is the Zoom and Google Meet connection. When a customer books a virtual appointment with WooCommerce, the plugin automatically creates the meeting and delivers the link in the confirmation email. There’s no manual step between “booking confirmed” and “customer has their meeting link.”

Setting up the Zoom connection involves creating an app in the Zoom App Marketplace and connecting it to your WooCommerce store. The interface is straightforward: you select which Zoom products your app should work in, then configure the API scopes that allow the plugin to create meetings on your behalf.

The Zoom App Marketplace Surface settings, where you select which Zoom products this app should connect to.
Google Meet works through a Google Calendar connection. When a customer books, a calendar event is created automatically, and the Google Meet link is attached. Two-way sync means any changes made in Google Calendar reflect in your WooCommerce appointment records. More details on this are available in the WooNinjas Google Calendar and Zoom setup article.
What Customers See: The My Bookings Dashboard
Every WooCommerce Bookings a customer makes is visible in their “My Account” area under the Bookings tab. They see every appointment, past and upcoming, with the service name, date and time, order reference, current status, and available actions.
Upcoming appointments show options to view the full details, reschedule to a different slot, or cancel, all without contacting your team. Status labels like “Completed”, “Upcoming”, and “Cancelled” keep things clear. For customers who book frequently, this dashboard becomes a useful reference for their own scheduling.

The My Bookings page in the WooCommerce customer account, showing appointment entries with booking dates, status labels, and self-service action buttons.
Cancellations, Payments, and Keeping Everything on Track
When a customer cancels, they see your policy before confirming. If the session is non-refundable after a certain point, that shows up in the cancellation modal. They can add an optional reason, which passes through to the notification your team receives. No policy ambiguity. No disputes about what the terms were.

The Cancel Booking modal shows the cancellation policy and an optional reason field before the customer confirms.
Payments are processed through your standard WooCommerce checkout. Customers see a full price breakdown before confirming, and pay with whatever gateway you already have set up. For admin-created bookings, staff choose between “Pending Payment” (sends an invoice the customer can pay online) and “Paid” (closes the order and sends a confirmation immediately).

The Payment and Complete step shows the final price summary, applied discounts, and payment status options for admin-created bookings.
To Set Up WooCommerce Appointments: A Quick Summary
To set up WooCommerce appointments, install the WooNinjas WooCommerce Bookings Add-on, create a Bookable Product using the Appointment booking type, define your working hours and slot durations, assign staff if needed, and set cancellation and pricing rules. Customers pick their slot from a live availability calendar, pay through your WooCommerce checkout, and receive a confirmation email. Virtual appointments generate Zoom or Google Meet links automatically. All bookings appear as WooCommerce orders in your admin dashboard.
Starts at $79 per year. Full details on our WooCommerce bookings page.
Want your appointment system built the right way from day one? WooNinjas has helped over 5,000 businesses set up their booking systems on WooCommerce, from solo practitioners to multi-location service providers. If you want the configuration handled by people who know the plugin inside out, get in touch with the WooNinjas team, and we will put together a setup that works for your specific business.
Pro Tip:
Configure your most complex service type first, including staff assignments, buffer time, minimum lead time, and cancellation policy. Then duplicate that product for simpler services. Every product inherits the baseline settings and requires only minor adjustments. Setup time drops significantly after the first product is done properly.
Frequently Asked Questions
Can WooCommerce handle appointment scheduling?
Yes. With the right WooCommerce Bookings plugin, like the WooNinjas Bookings Add-on, you can add time-slot booking to any service product. Customers select their date and time from a live calendar, pay through checkout, and receive a confirmation. Every booking creates a WooCommerce order automatically. See the full details in our WooCommerce bookings Download page.
How do I add a booking calendar to my WooCommerce store?
Install the WooNinjas Bookings Add-on, create a new product, and set the product type to Bookable Product with the Appointment booking type. Your availability calendar appears automatically on the product page. Configure your working hours, slot durations, and any staff schedules in the product settings. The full setup guide walks through each step.
Does WooCommerce Bookings support Zoom and Google Meet?
Yes. The WooNinjas WooCommerce Bookings Add-on connects with both Zoom and Google Meet. When a customer books a virtual appointment, the plugin automatically generates a meeting link and includes it in the confirmation email. Google Calendar sync keeps your schedule updated across both platforms. More details in the Zoom and Google Calendar setup guide.
Can I assign multiple staff members to WooCommerce appointments?
Yes. The WooNinjas Bookings Add-on supports multiple staff members per service.
Can customers cancel or reschedule their WooCommerce appointments?
Yes. You configure cancellation and rescheduling deadlines in the product settings. Customers then manage their own WooCommerce Bookingss from the My Bookings section of their account. The system enforces your policies automatically, and automated emails notify both the customer and your team when changes are made.



