Skip to content
GPLWP Guides

How to set custom appointment durations on a WordPress site

Booking & Events Time About 25 minutes 6 steps Updated 3 Sep 2026

BOOKING & EVENTS
The short answer

Most WordPress booking plugins let you set one fixed duration per service, but they do not usually let customers choose an arbitrary appointment length. For flexible options, create separate services manually or use a booking add-on that supports custom durations, minimums, maximums and price calculations.

The route
  1. 01Decide how durations work
  2. 02Set the booking time interval
  3. 03Configure fixed service lengths
  4. 04Check availability and pricing
  5. 05Use flexible durations when needed
  6. 06Test the public booking form

What you need

  • A WordPress booking or appointment plugin
  • Administrator access to WordPress
  • A list of services, durations and prices
  • A staging site or recent backup

Decide how durations work

First decide whether each service has one fixed length, several predefined lengths, or a flexible length chosen by the customer. These are different booking rules. A 30-minute consultation and a 90-minute consultation can usually be separate services, while a booking that can grow from 30 minutes to 3 hours needs flexible-duration support.

Write down the minimum duration, maximum duration, increment and price rule. For example, a 30-minute unit with a minimum of two units and a maximum of six units gives customers options from 1 to 3 hours.

Set the booking time interval

Open your booking plugin's general scheduling settings and find the setting usually called Time slot length, Booking interval or similar. Set it to the smallest increment you need. In Bookly, the general path is Bookly > Settings > General > Time slot length; the value controls the intervals used when available times are generated.

If you need 25-minute or 45-minute choices, a 5-minute or 15-minute interval may be necessary, depending on the plugin. A common mistake is changing the service duration but leaving the global interval too large, so the required option never appears.

Configure fixed service lengths

For a fixed appointment, edit the service in your booking plugin and set its duration, price, provider and buffer or padding time. In Bookly, service duration and service-specific time slot length are configured from Bookly > Services by editing the service and opening its Time settings. Bookly supports service durations from minutes through multiple days, subject to the plugin's scheduling rules.

If customers need three choices, create three clearly named services such as “Consultation - 30 minutes”, “Consultation - 60 minutes” and “Consultation - 90 minutes”. This manual route is fine for a small number of options, but it duplicates prices, staff assignments, availability and notification settings. Keep the services consistent or one option can quietly remain bookable when the others are changed.

Check availability and pricing

Make sure the provider's working hours are long enough for the longest appointment, including any padding before or after the booking. A two-hour service cannot appear in a one-hour working window. Padding time is also blocked from other bookings, so include it when checking whether back-to-back appointments are possible.

Test the price for every duration and check the calendar after booking. If the system charges a base price rather than multiplying by duration, use separate services or configure a unit-price rule where your plugin supports one.

Use flexible durations when needed

If customers must choose the appointment length during booking, the basic service-duration field is not enough. You need a booking plugin or add-on that exposes duration choices on the front end and recalculates availability and price before the booking is submitted.

In Bookly, the Custom Duration add-on requires Bookly PRO. Install and activate it, then edit a service from Bookly > Services. On the Time tab, choose Custom for Duration, set the unit duration, minimum units and maximum units, and set the price of one unit on the General tab. Bookly then calculates the total from the selected number of units.

Test the public booking form

Make a test booking as a customer, not only from the WordPress dashboard. Confirm that every duration appears, the price changes correctly, the available end time fits within working hours and the calendar blocks the full appointment plus padding.

Check edge cases before launch: a booking near closing time, two customers choosing different lengths for the same resource, cancellation and payment emails, and mobile display. In Bookly, custom duration is not compatible with Packages, Compound Services or Collaborative Services. With group capacity, later customers may need to select the same duration as an existing booking.

The fast route

Let Bookly Custom Duration Add-on do it

Adds per-service appointment lengths to a WordPress booking system, ideal when fixed duration options are too restrictive.

Get Bookly Custom Duration Add-on

Sources

  1. support.booking-wp-plugin.com /hc/en-us/articles/212799585-General-Settings?utm_source=ope…
  2. support.booking-wp-plugin.com /hc/en-us/articles/212176289-Services?utm_source=openai
  3. wpamelia.com /documentation/pricing-by-duration/?utm_source=openai
  4. support.booking-wp-plugin.com /hc/en-us/articles/360005082294-Services-with-flexible-durat…

Questions

Can WordPress set different appointment durations for different services?
Yes. Most appointment plugins let you assign a separate fixed duration to each service. Edit each service, set its duration and check the provider's working hours and padding time. This works well when the choices are fixed, such as 30-minute, 60-minute and 90-minute consultations. It does not automatically let customers extend one service by arbitrary increments.
Can customers choose their own appointment length?
Only if your booking plugin supports flexible or custom durations. Otherwise, create separate services for each duration and give each one its own price. A flexible-duration feature should reserve the full selected period, calculate the correct price and prevent bookings that run beyond staff hours or overlap another appointment.
Why is a custom duration missing from the booking form?
The booking interval is usually too large, or the service is still configured with a fixed duration. Set the global or service-specific time slot length to an interval that supports the duration you need, then save the service again. Also check that the provider's working hours, breaks and padding leave enough time for the selected appointment.
How should I price appointments with different lengths?
Use a separate price for each fixed-duration service, or use a unit price when the duration is made from equal time units. For example, a 30-minute unit priced at $50 produces $100 for one hour and $150 for 90 minutes. Always test the price from the public booking form because staff-specific prices, extras and special-hour rules can change the result.
What is the fast way to add flexible durations in Bookly?
Install Bookly PRO and the Bookly Custom Duration Add-on, then edit the service and choose Custom in its Duration setting. Define the unit duration, minimum units, maximum units and unit price. The add-on is the fast option when customers need selectable lengths and automatic pricing instead of a collection of duplicated services.