WooCommerce Service Booking: Sell Any Service Online - Wooninjas - The WooCommerce Ninjas
Back to Blogs
WooCommerce

WooCommerce Service Booking: How to Sell Any Time-Based Service From Your WordPress Store

Use WooCommerce Bookings to sell any time-based service online. Manage staff, availability, and add-ons with the WooNinjas bookings plugin for WordPress.

Ryyan June 27, 2026 14 mins read
WooCommerce Service Bookings displayed on the monitor with various service options visible on screen in the background and a Blue Ninja holding a tablet in the foreground

WooCommerce service booking is the practice of selling a time-based service from a WooCommerce store, where the service is a bookable product with its own duration, provider, and availability. Clients pick a slot from a live calendar, add any extras, and pay at checkout. Each booking becomes a WooCommerce order, in the same dashboard as every other sale the business makes.

Most service businesses lose time to the same three things: clients phoning to check availability, invoices sent by hand after the session, and the scramble to reach everyone when a provider calls in sick. All three trace back to not having a proper WooCommerce Bookings system. What follows is how to configure the WooNinjas WooCommerce Bookings Add-on for any service business running on WordPress.

Why Standard WooCommerce Products Cannot Sell Time-Based Services

The gap between standard products and time-based services

A standard WooCommerce product is designed to sell a physical or digital item. Customers add it to the cart, check out, and receive it. There is no concept of time, availability, provider capacity, or scheduling built into that flow. For a photography session, a legal consultation, a personal training slot, or a cleaning service, those dimensions are the entire product. The time slot is what the customer is buying. And it is what they increasingly expect to buy online: in a GetApp survey of more than 200 North American consumers who had booked a service in the past year, close to 70 percent said they would choose to book online when the option exists, against 22 percent who preferred the phone.

This is where a WooCommerce Bookings Add-on closes the gap. When a service is set up as a Bookable Product in WooCommerce, it gains an availability calendar, time-slot selection, provider assignment, and automatic booking confirmation. The customer selects their preferred date and time from a live calendar that shows only genuinely available slots, completes the checkout, and receives a confirmation. The provider is notified. The slot locks. No phone call required.

Because this runs inside WooCommerce, every service session becomes a standard order. The client’s booking history, any add-ons they selected, and their payment record all sit in the same customer account as any retail purchase from the store. The WooNinjas Bookings Add-on makes this available at $79 per year for a single site, starting from a straightforward install through the WordPress Plugins panel.

Which Service Businesses Use WooCommerce Service Booking

Service types the Add-on covers across every industry.

The WooCommerce Bookings configuration covers a genuinely wide range of service types, because the underlying booking mechanics are the same regardless of industry. A legal consultation, a personal training session, a home cleaning slot, and a photography session all need the same thing from a booking system: a time slot, a provider, availability control, and a payment.

Service businesses across healthcare, fitness, legal, financial, education, creative, and domestic service categories use the WooNinjas WooCommerce Bookings Add-on to manage their booking workflows. A physiotherapist configures the Appointment booking type with 45-minute slots, buffer time, and individual therapist schedules. A cleaning company sets up three-hour service slots with staff assignments and lead time requirements. A photographer offers 90-minute portrait sessions with optional add-ons for prints and album packages. A business coach sells 60-minute strategy sessions that connect directly to a Zoom meeting link upon confirmation.

The plugin handles all of these from the same product editor. Each service gets its own bookable product, its own schedule, its own resources, and its own pricing. They all sit in the same WooCommerce dashboard, report through the same Booking Reports view, and process payment through the same checkout.

Installing and Configuring WooCommerce Service Booking

Installation and product setup steps

Installation follows the standard WordPress Add-on process. After purchasing the WooNinjas Bookings Add-on, the steps are:

  • Go to WordPress Dashboard > Plugins > Add New > Upload Plugin. Upload the .zip file from the purchase confirmation email, then click Install Now > Activate.

Plugin-wide settings, such as email sender details, are configured in the WooCommerce settings area.

image showing add new product screen with the service title entered.

The WordPress Add New Product screen, with the service title entered, and the Product Data dropdown set to Bookable Product, is the starting point for any service booking.

  • Go to Products > Add New and set the product type to Bookable Product from the Product Data dropdown. Select the Appointment booking type. This activates the time-slot scheduling interface for the service.
image showing booking settings tab with the booking type and duration fields.

The Booking Settings tab with the Booking Type set to Appointment / Consultation / Virtual, which activates time-slot scheduling, plus the service title and duration fields.

Availability tab:

Under the Availability tab, configure the following fields: Available Days (select which days the service runs), Available Time Range (set the start and end time for the service), and Blackout Dates (optional: block specific dates when the service is unavailable). The slot duration in minutes should match the length of the service.

image showing availability rules tab with the available days selector.

The Availability Rules tab, with the available days selector, the daily time range that defines bookable hours, and the blackout dates that block specific days.

Under the Settings tab, use the Assigned Resource/Staff field to assign a staff member or resource to the booking product. Optional add-on resources for the service are also configured here; each resource has its own name, price, and description, and is presented to the client during the booking flow.

image showing new resource dialog before it assigned to the service.

The Create New Resource dialog, where an add-on or staff resource is given a type, name, description, and price before it is assigned to the service.

Pricing Tab:

  • Under the Pricing tab, set the Regular Price per slot. An optional Sale Price can also be configured, which displays alongside the regular price and applies at checkout when active.
image showing pricing tab with regular price and sale price per-slot rate for service.

The Pricing tab shows the Regular Price and optional Sale Price fields that set the per-slot rate for the service.

  • Under the Cancel/Reschedule tab, configure the cancellation deadline in hours and specify whether the booking is refundable within that window. This policy text displays to clients in the cancellation modal at the point of cancellation.
image showing cancel tab with toggles to allow customers to cancel.

The Cancel/Reschedule tab, with the toggles that allow customers to cancel or reschedule their own bookings within the rules you set.

The complete configuration reference, including screenshots of each settings panel, is in the WooNinjas Bookings documentation.

Add-Ons and Service Upgrades: The Booking Upsell Most Businesses Miss

Configuring optional extras in the Settings tab

One of the most underused features in a WooCommerce Bookings setup is the Resources system, which allows optional paid extras to be attached to any service product. These add-ons are presented to the client during the booking flow, before they reach the payment step, and the total updates live as they make selections.

The practical applications differ by service type, but the mechanics are the same across all of them:

  • A personal trainer offering 60-minute sessions can attach an optional nutrition plan add-on at a fixed additional cost 
  • A photographer can offer print packages, album upgrades, or rush editing as selectable resources
  • A consultant can offer a follow-up written summary document or template pack as a premium add-on
  • A cleaning service can attach oven cleaning, refrigerator cleaning, or window cleaning as optional extras per visit

How Resources Are Configured

Each resource is configured independently in the Settings tab of the bookable product. It carries its own price, label, and optional description. Resources marked as included at no charge still appear in the booking summary, which is useful for communicating what the service covers before the client confirms. Resources with a cost attached increase the order total transparently before checkout.

This is a meaningful revenue lever. A service booking that converts a base rate into a base rate plus two optional upgrades requires no additional sales effort from the team. The client is presented with the options in context, at the moment they are most engaged with the purchase.

Some setups run past what the product editor covers on its own. Whether the job is a multi-provider scheduling system, complex add-on pricing, or a WooCommerce Bookings setup that handles both in-person and virtual sessions from the same product editor, the WooNinjas team handles the configuration. Get in touch with us here, and they will review your requirements before any work begins.

Looking for a Ready-Made Solution?

Explore our WordPress, WooCommerce, and LMS plugins built to extend functionality without custom development.

Browse Our Products

Virtual Service Delivery: Zoom and Google Meet Built Into the Booking Confirmation

The WooNinjas WooCommerce Bookings Add-on connects with Zoom and Google Meet for virtual service delivery. Meeting links are generated and delivered automatically on booking confirmation.

For service businesses that offer remote sessions, the WooCommerce Bookings Add-on connects with both Zoom and Google Meet to deliver meeting links automatically on booking confirmation. The client books and pays through the WooCommerce checkout. The plugin generates the meeting link through the connected platform and delivers it in the confirmation email. There is no manual step between a confirmed booking and a client who has their session details.

image showing location settings tab with dropdown open on zoom and google meet.

The Location Settings tab is set to Virtual/Online, with the platform dropdown open on Zoom and Google Meet, and link generation set to Automatic.

The Zoom connection is configured through the Zoom App Marketplace. You create an app in the Marketplace, select the Zoom products it will connect to, and configure the API scopes that let the plugin create meetings on your behalf. The Meetings and Events products are the relevant selections for a service booking use case.

image showing zoom app marketplace settings for zoom products woocommerce bookings connection should link to.

The Zoom App Marketplace Surface settings, where you select which Zoom products the WooCommerce Bookings connection should link to.

Google Meet works through a Google Calendar connection. A calendar event is created automatically for each confirmed booking, and the Google Meet link is attached. Two-way calendar sync means any rescheduling through WooCommerce updates the calendar event, and any changes in Google Calendar reflect back in the booking record. This is particularly useful for service providers who use Google Calendar as their primary scheduling tool. Full setup guidance is at WooCommerce Bookings, Google Calendar, and Zoom setup guides.

What Does the Admin Dashboard Show You?

Booking Reports and manual booking creation

The Booking Reports view in the WooCommerce admin provides a single, filterable overview of every WooCommerce Bookings across all products and providers. The table can be filtered by date range, product, provider, customer, and order number. Each record shows the session date and time, the assigned provider, whether the session was in-person or via a virtual platform, the current status, and a direct link to the order.

For virtual sessions, the Platform column in the reports view shows which tool was used, Zoom or Google, and the Link column provides the meeting URL directly from the report. This makes it straightforward to verify which sessions have active meeting links and which may need attention before the session date.

image showing booking reports dashboard and direct meeting links.

The Booking Reports dashboard shows service appointments with provider details, virtual platform indicators, session times, status, and direct meeting links.

Manual bookings for phone and walk-in clients are created through WooCommerce > Bookings Reports > Add New Booking. The wizard handles customer selection, product choice, session configuration, and payment status. The client receives the same automated confirmation as an online booking, including any meeting link if the session is virtual.

The Client View: Self-Service Booking Management in WooCommerce

The My Bookings dashboard for clients

Clients access all their WooCommerce Bookings sessions from the Bookings tab in their My Account area. Every session, past and upcoming, is listed with the product name, booking date, status, and available actions. The My Account interface is the same one clients already use for any other WooCommerce purchase, so there is no separate login or portal to learn.

For upcoming sessions, clients can view full booking details, request a reschedule within the rules you have set, or initiate a cancellation. The cancellation modal shows the stated policy before the client confirms. Rescheduling enforces the original session duration and provider assignment constraints. Automated emails notify both the client and the provider whenever a change is made.

image showing my bookings page in client account with provider names and self-service action buttons.

The My Bookings page in the client account shows service appointments with session dates, provider names, status labels, and self-service action buttons.

Payment Processing for WooCommerce Service Bookings

WooCommerce checkout handles all service booking payments.

Every WooCommerce Bookings processes through the standard WooCommerce checkout. Clients see the base service rate, any add-on resources they have selected, and the final session total. Payment processes through whichever gateways are configured in your WooCommerce settings, with no additional payment platform required.

Note: deposit collection is not currently available in the WooCommerce Bookings Add-on. Payment options are full payment at booking or Pending Payment via invoice. Admin-created bookings from the wizard support both Pending Payment and Paid status, giving teams flexibility for clients who pay by other means.

image showing payment and payment status options for admin-created bookings.

The Payment and Complete step shows the Final Price Summary with service base rate, add-on selections, and payment status options for admin-created bookings.

WooCommerce Service Booking: What It Is and How to Set It Up

WooCommerce service booking is the practice of selling time-based services directly from a WooCommerce store using a Bookable Product configured with the Appointment booking type. To set it up using the WooNinjas WooCommerce Bookings Add-on: go to WordPress Dashboard > Plugins > Add New > Upload Plugin and install the plugin; create a new product and set the type to Bookable Product with the Appointment booking type; configure working hours, slot durations in the Availability tab; assign staff or resources in the Settings tab; attach any optional add-on resources; set the base price and any sale price; and configure the cancellation policy. Clients select their session from a live availability calendar, pay through the WooCommerce checkout, and receive an automated confirmation. Every booking creates a WooCommerce order.

The Add-on starts at $79/year. Full setup reference at WooCommerce Bookings documentation.

The setup rewards time spent in the configuration panels. To skip that, hand it off. The WooNinjas development team has set up WooCommerce Bookings systems across dozens of service industries. From multi-provider scheduling to complex add-on pricing and virtual session delivery, WooNinjas handles the setup so the business can focus on the service. Talk to us about your requirements here, and we will scope out exactly what you need.

Frequently Asked Questions

Can I sell any type of service through WooCommerce booking?

Yes. The WooNinjas WooCommerce Bookings Add-on supports time-based services delivered in scheduled time slots. Businesses can use it to manage legal consultations, personal training, photography sessions, cleaning services, tutoring, therapy appointments, and remote coaching. Create each service as a separate Bookable Product with its own availability, pricing, and optional resources.

How do I add optional extras to a WooCommerce Bookings?

Optional extras are configured as Resources under the Settings tab of the Bookable Product settings. You give a name, a price, and a description to each resource. Clients see the available extras during the booking flow and can select them before checkout. The order total updates live as selections are made. Both paid add-ons and included-at-no-charge items, you can configure using the same resources panel.

Does WooCommerce Bookings support virtual sessions with Zoom?

Yes. The WooNinjas WooCommerce Bookings Add-on connects with Zoom and Google Meet. When a client books a virtual session, the plugin automatically generates a meeting link and includes it in the booking confirmation email. Setup involves creating a Zoom app in the Marketplace, selecting the relevant Zoom products, and configuring the required API scopes. Full instructions are on the WooCommerce Bookings Google Calendar and Zoom setup guide.

Can multiple service providers be assigned to one WooCommerce Bookings service product?

Each WooCommerce Bookings service product supports an Assigned Resource or Staff member configured in the Settings tab. You can manage resources for add-ons and service extras here. Clients see available options during the booking flow and complete checkout through the standard WooCommerce checkout.

How does WooCommerce Bookings handle cancellations?

Cancellation rules are configured in the Cancel/Reschedule tab of each Bookable Product. The deadline is set in hours or days before the session start time. When a client initiates a cancellation from their My Account > Bookings tab, the confirmation modal displays the configured policy before they confirm. Automated emails notify both the client and the provider. The cancelled slot reopens in the availability calendar immediately.

Need Ongoing WordPress Maintenance & Support?

We handle updates, performance monitoring, security hardening, and technical fixes so your WordPress and WooCommerce site stays stable and secure.

View Maintenance Plans

Scroll to Top