How to change appointment start times

I set my base appointment times and the duration of each service. For a 3 hour service, my workday is now divided into 3 hour increments starting at 10am, the time we open. How can I make that same service bookable at say, 10:30 or 11am?

The calendar appears to work fine for 15 minute appointments since they match the base time, but that's not practical for lengthier services.

  • Phillip

    Hi @vaushaun and @Alexander Ronmann,

    I've been researching this for 30-45 minutes reading through different forum posts while trying to find a solution for myself. I've finally found one which combines steps from 2 different forum posts so I've combined them below.
    To make sure we're on the same page, here was my scenario (followed by how I fixed it).

    My scenario:
    I have 1 service provider. Appointments for the single service are 60 minutes in length. The provider needs an additional 60 minutes padding (after the appointment) to travel and prepare for the next appointment. What I wanted (and successfully have achieved with Appointments+) is for customers to choose a time that works best for them and then have the system block out the 2 hours.

    By default the system was allowing customers to schedule at 8:00, 10:00, 12:00, 2:00, or 4:00. I wanted a customer to see that he/she could schedule at 8:00, 8:15, 8:30, 8:45, 9:00, 9:15, etc. If someone booked the 8:15 appointment then the provider won't be done until 10:15.

    IF this is the functionality you are looking for try the following:

    [Go to Appointments plus >> Settings >> Addons]
    - Make sure the Padding add-on is disabled.
    - Enable the Durations add-on.

    [Go to Appointments plus >> Settings >> Services]
    - Set service duration for desired time to be blocked out (i.e., appointment length + padding length). In my example this is 120min.

    [Go to Appointments plus >> Settings >> General]
    - Change the "Time base (minutes)" to your amount of time you want start times to be staggered by. For my example using 8:00, 8:15, 8:30, 8:45, etc. you would use 15 minutes.
    - In the "Time Settings" section find "Time slot calculus method" and select "Minimum time based appointment duration calculus (legacy)"

    These settings make it work as explained, but with one problem: when booking an appointment customers are going to see the appointment time is whatever you listed the duration as (appointment time + padding length). To fix this:

    Insert the following code into your functions.php file (preferably inside of a child theme; more on that here:

    function modify_duration_text( $text, $duration ) {
    	return ($duration -30) . ' minutes';
    add_filter('app_confirmation_lasts', 'modify_duration_text', 10, 2);

    Note that where it says "30" above, you should enter the padding time you included in your duration.

    I hope that helps.

    Thanks to @PC and @Michael Bissett. The threads I pulled the info from are:

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.