Running a service business with more than one offering quickly reveals a fundamental scheduling problem: different appointments take different amounts of time. Finding a multiple services booking plugin for WordPress that handles this correctly — blocking exactly thirty minutes for a haircut, sixty for a consultation, two hours for a workshop — turns out to be harder than it should be. Most free booking solutions treat every slot as the same fixed length. That single assumption is responsible for more double bookings, scheduling gaps, and manual calendar fixes than any other issue service businesses report.
This post walks through why the problem exists, how Vollstart Appointment Desk solves it, and how to set up multiple services with different durations in under ten minutes.
Why Mixed Service Durations Break Standard Booking Setups
Picture a salon offering basic cuts (30 min), colour treatments (90 min), and bridal styling (180 min). Open a generic booking calendar and you face an immediate decision: which duration do you set as the default slot length?
Choose the shortest, and colour appointments spill into the next slot. Choose the longest, and half your day disappears in empty, unbookable time. The most common workaround is maintaining a separate calendar for each service — one URL for cuts, one for colour, one for styling — and hoping customers choose correctly. When they don’t, every mistake lands on your plate as a manual correction.
The underlying problem is that the booking system isn’t service-aware. It blocks a fixed number of minutes regardless of what’s actually being booked. It has no concept that “haircut” means thirty minutes and “bridal styling” means three hours. Per-service duration is not an advanced feature — it’s a foundational one. But it’s absent from a surprising number of booking plugins.
[SCREENSHOT: Generic booking calendar showing uniform fixed-length slots, with a colour treatment overlapping into the next appointment]
How Vollstart Appointment Desk Handles Multiple Service Durations
Appointment Desk is built around a simple rule: each service carries its own duration. When a customer selects a service, the calendar blocks exactly that amount of time — no more, no less. Everything else flows from that one rule.
- A haircut booked at 2:00 PM blocks 2:00–2:30 PM
- A consultation booked at 2:00 PM blocks 2:00–3:00 PM
- A workshop booked at 2:00 PM blocks 2:00–4:00 PM
The calendar updates in real time as the customer makes their selection. Slots that would overlap with the chosen service duration become unavailable immediately. There is no polling delay, no manual refresh, and no window where two customers can claim the same time.
Slot holds reinforce this. While a customer is filling out the booking form, their chosen slot is temporarily reserved for them. If another visitor opens the same time on the same service, they see it as taken. This prevents the race condition that trips up most booking plugins: two customers starting the checkout process at the same time and both completing a booking for the same slot.
[SCREENSHOT: Customer-facing booking form with service selector, showing calendar slots resizing dynamically when a different service is selected]
Step-by-Step: Setting Up Multiple Services
The setup process is straightforward. The following steps assume you have Appointment Desk Pro installed, since multiple services are available in the Pro tier. The free version includes one service — enough to test the complete booking flow before upgrading.
Step 1 — Navigate to Appointment Desk → Services in your WordPress dashboard. On a fresh install the list is empty. You’ll see an “Add New Service” button at the top.
[SCREENSHOT: Appointment Desk Services list screen in WordPress admin, empty state with Add New Service button highlighted]
Step 2 — Add your first service. Click “Add New Service.” Enter the service name — for example, “Haircut.” Set the duration to 30 minutes. Optionally add a price (displayed live in the booking form as customers make selections), a description, and any custom fields relevant to this service. Save.
[SCREENSHOT: Service editor showing Name field (“Haircut”), Duration selector set to 30 minutes, Price field, and Save button]
Step 3 — Repeat for each additional service. Add “Consultation” with 60 minutes. Add “Full Workshop” with 120 minutes. Each service is completely independent — its own duration, its own price, its own custom fields.
[SCREENSHOT: Completed services list showing three rows: Haircut (30 min), Consultation (60 min), Full Workshop (120 min)]
Step 4 — Place the shortcode on your booking page. In any WordPress page or post, add the shortcode . The booking form renders with a service selector at the top. Customers pick their service, the calendar immediately shows available slots sized to that service’s duration, and they complete the booking.
No additional configuration is needed. The multi-duration logic is built into the core booking engine, not bolted on as a separate module.
The Full Customer Experience — Booking and Walk-Ins Together
From the customer’s side, the flow is clean. They arrive at your booking page, browse your services with names, descriptions, and live pricing, and select the one they need. The calendar shows only genuinely available slots for that service length. Confirmation arrives by email with an ICS calendar file attached, so the appointment automatically appears in Google Calendar, Outlook, or Apple Calendar.
Self-service links in the confirmation email let customers cancel or reschedule without calling you — and without needing a login or account.
What separates Appointment Desk from a standard scheduling plugin is what happens when someone walks in without a booking. The built-in walk-in queue system lets door customers pull a queue number from a kiosk page. Your reception cockpit — a live front-desk overview that runs without a WordPress login, directly from a browser on your front desk computer — shows both your scheduled calendar and the live walk-in queue side by side. For salons, repair shops, medical practices, or any business that handles both types of customers, this removes the need for a second system entirely.
[SCREENSHOT: Reception Cockpit interface showing today’s scheduled appointments on the left and the active walk-in queue on the right]
Get Started Free, Upgrade When You’re Ready
Vollstart Appointment Desk is available free on WordPress.org. The free version includes one calendar, one service, one staff member, and up to 50 appointments per month — the complete booking flow, ready to test on a live site with real customers before spending anything.
When your business needs multiple services with different durations, additional staff members, WooCommerce integration for paid appointments, Google Calendar sync, or file uploads in the booking form, Pro handles all of it without per-feature add-on costs. One upgrade covers every capability.
If you’ve been managing scheduling workarounds because your current setup can’t distinguish a thirty-minute appointment from a two-hour one, switching to a proper multiple services booking plugin for WordPress is a one-afternoon project. Install Appointment Desk, define your services with their actual durations, and your calendar starts working the way your business actually runs.