Appointments schedule with many breaks

Hello.
Thank you for the useful plugin.

I have some trouble configuring it.

I need to make a schedule for client like
8:30 - 9:30
9:45 - 10:45
11:00 - 12:00
...

so...i need to make 60 minutes service with 15 minutes breaks between its...

and one more question...how can I make service from 23:30 to 01:30 ? now it's always have "Not possible" status... :slight_frown:

How can I do this?

Here is the link to my schedule page: http://chelbunker.ru/?page_id=13

  • aristath
    • Recruit

    Hello there @Alex, I hope you're well today!

    The easiest way to do what you need is to go from your Dashboard to Appointments => Settings => Addons, and then enable the "Paddings" addon.
    Then, in the service providers list you'll be able to edit these paddings by clicking on the "more info" link.

    To allow the after-midnight calculations that you need, you can go to your settings and scroll down to the advanced settings section.
    You will have to set the "Allow Overwork (end of day)" option to "Yes" there.

    I hope that helps!

    Cheers,
    Ari.

  • Alex
    • Flash Drive

    Ok, thank you. After-midnight problem solved.

    I've made Padding times After=15

    and i have timelist like..
    08:30 - 09:45
    09:45 - 11:00
    11:00 - 12:15

    i need like
    8:30 - 9:30
    9:45 - 10:45
    11:00 - 12:00

    What should I do?

  • Michelle Shull
    • DEV MAN’s Apprentice

    Hi there, Alex!

    We may need to activate one more addon, the Durations Addon. That will give you some new options to toggle within the time settings of your Appointments>Settings>General tab.

    These options allow you to switch between different ways the server might calculate the appointment times.

    Sometimes these three new settings can be a little picky, so it may take a few combinations of options before you get exactly what you need.

    Let us know if you have any more questions, Alex!

  • aristath
    • Recruit

    Hello again @Alex, I hope you're well today!

    Could you please grant us access to your backend so that we may see exactly what is happening?
    To do so, from your dashboard go to WPMUDEV => Support => Support Access and click on the "Grant access" button.

    Please note that you must have the WPMU DEV Dashboard plugin installed on your site to complete the above process.

    Cheers,
    Ari.

  • Michelle Shull
    • DEV MAN’s Apprentice

    Hi there, Alex!

    I think I got it fixed for you, the appointments all start at the times you want now.

    The break times are tacked on to the end of the appointment times, to ensure that the time is blocked off.

    What I did:

    Changed your main duration to 60 minutes, since that's the smallest (and only) appointment length you have.

    Added Admin side padding of 15 minutes, to stagger when clients can schedule appointments.

    Made sure both services had a fifteen minute padding at the end, to make each block cover 1 hour and fifteen minutes.

    This should reflect what you want now! Thanks, Alex!

  • aristath
    • Recruit

    Hello again @Alex,

    I'm afraid the access you granted us has expired, could you please re-grant us access so that I may take a closer look at that again?
    I think I know how to fix this for you... It should be a simple time calculation. :slight_smile:

    Please let me know when you grant us access so that I may try to fix this for you.

    Cheers,
    Ari.

  • Michelle Shull
    • DEV MAN’s Apprentice

    Hi, Alex!

    Here's what you'll need to do:

    1. Set a service provider for each time of each of your services. (so service 1, 9:30) It can be a "dummy" provider, if there's no actual person tending to the appointments.
    2. Set the working hours for "No Particular Service Provider" to be your business hours, so from the start of the first available appointment to the end of the last available appointment.
    3. Set the working hours for each service provider to match the hours you want here, with breaks for ALL times except when that service is available.
    4. Remove the 15 minute padding at the end of the services.

    That should do it for you!

  • Michelle Shull
    • DEV MAN’s Apprentice

    Hi there, Alex!

    I've played with every setting, and the only way to get your start times to reflect your actual start times is to add fifteen minutes of padding at the end of the service, which block off 75 minutes on your calendar, even though the appointments themselves are only 60 minutes long.

    Is this a deal breaker?

    Thanks, Alex!

  • Michelle Shull
    • DEV MAN’s Apprentice

    Hello, Alex.

    I'm sorry it's not acceptable, what you want is a bit more than Appointments+ can currently do, unless an hour and fifteen minutes is blocked off on your schedule for each appointment, with the appointment start times and durations correct.

    I've removed all changes I made to try to help make this work.

  • Alex
    • Flash Drive

    October 25
    I clearly said:
    "I need to make a schedule for client like
    8:30 - 9:30
    9:45 - 10:45
    11:00 - 12:00"

    And only now you're saing that it's not acceptable... :slight_frown:
    What for this wasting of time? Don't you know abilities of your plugin?

  • Michelle Shull
    • DEV MAN’s Apprentice

    Hi Alex

    I am not trying to waste your time, the workaround I gave you is the only way to make Appointments+ do what you want it to do at this time.

    We can tweak the settings in Appointments plus to do many things, but the exact configuration you want isn't currently possible.

    Here's what I tried:

    1. Adding padding - this makes the start times correct, but until they schedule an appointment and see that the tour lasts for one hour, they may think the appointment is one hour and fifteen minutes long.

    2. Creating a separate service provider for each time slot, with working hours set only for that slot and breaks on all other slots.

    3. Creating a single service provider with multiple break times during the day to reflect the times between appointment times.

    4. Adding the durations addon to try to make the appointment times exactly reflect your hours.

    So I'm sorry you feel like your time is wasted, I've tried every setting to try to extend Appointments+ to meet your needs here.

    I can ask for Second Level Support to take a look to see if your unique case might be something we could code a customization for.

  • Alex
    • Flash Drive

    flagged and forgotten :slight_frown:

    0. What about last question?

    1. How can I make two different schedules?
    One for one service start from 8:30 and another for second serice start from 8:15? Is it possible?

    2. How Can i show dates below the day of weeks. Maybe near the "Mo" in the table? For example: "Mo 01.12", "Tu 02.12", etc.

    3. I need to remove string "Service provider: [SERVICE PROVIDER NAME]" in the confirmation (app_confirmation). Which line should I commit?

  • Tyler Postle
    • CGO

    Hey Alex,

    Hope you're doing well today and thanks for your questions!

    1. How can I make two different schedules?
    One for one service start from 8:30 and another for second service start from 8:15? Is it possible?

    You will want to have your time base at 15 minutes then associate each service with it's own service provider with 1 provider starting at 8:15 and the other at 8:30 :slight_smile:

    2. How Can i show dates below the day of weeks. Maybe near the "Mo" in the table? For example: "Mo 01.12", "Tu 02.12", etc.

    To show the days of the week you will want to select the weekly calendar. They will be abbreviated by default; however, you can also make them their full names too:

    [app_schedule long="1"]

    3. I need to remove string "Service provider: [SERVICE PROVIDER NAME]" in the confirmation (app_confirmation). Which line should I commit?

    You can remove this by adding the following CSS to your custom stylesheet:

    .appointments-confirmation-worker {
        display: none;
    }

    If you don't have a custom stylesheet then you can use this plugin here: https://wordpress.org/plugins/simple-custom-css/

    I notice your ticket is still in que for SLS too :slight_smile: thanks for your patience!

    Let me know if you have any further questions in the meantime.

    All the best,
    Tyler

  • Alex
    • Flash Drive

    1. It doesn't works. Look at the screenshots...

    Time base: https://yadi.sk/i/V9TkQy4xcgJr5
    Service providers: https://yadi.sk/i/yLKyVLtgcgJt9
    Workings hours for 1 provider: https://yadi.sk/i/dUa7Iun-cgJvb
    Workings hours for 2 provider: https://yadi.sk/i/nVE5WE9fcgJwY

    Here is the links to my schedules. It's the same. NOT different times.
    http://chelbunker.ru/?page_id=13
    http://chelbunker.ru/?page_id=890

    Here is the using shortcodes:
    [app_schedule service="1" worker="5"] [app_pagination] [app_confirmation]
    [app_schedule service="2" worker="6"] [app_pagination] [app_confirmation]

    Any other ideas?

    2. You don't understand me. I need to show numeric data, I don't need to show long names of days.

    3. It doesn't works. See screenshots. The string "service provider" exists. I cleared cache.
    https://yadi.sk/i/8LsRW7y5cgJcV
    https://yadi.sk/i/tWMvCxfdcgJem

  • Hoang Ngo
    • Code Slayer

    Hi @Alex,

    I hope you are well today.

    If you are using padding time add-on, Please add this code to your theme functions.php or use mu-plugins. It will help you to update the text to make it fit with your need.

    add_filter('app_weekly_calendar_to', 'update_app_to_text', 10, 2);
    function update_app_to_text($text, $t)
    {
        global $appointments;
        $new = strtotime('-15 minute', strtotime($text));
        return date('H:i a',$new);
    }

    If you have any issues please don't hesitate to let us know so we can assist

    Best regards,
    Hoang Ngo

  • Alex
    • Flash Drive

    Yes. You are the best, Hoang Ngo!

    It look good: https://yadi.sk/i/YtJHCUTvchsFA
    But Can I delete this notes? "am, pm". Just needed numeric view.

    Here is my functions.php at the end.

    /***************????? ????? ?????????? ? 8:30*********************************************/
    function new_starting_hour( $start ) {
    return 8.5;
    }
    add_filter( 'app_schedule_starting_hour', 'new_starting_hour' );

    /***************????? ????? ???? ? 8:30 ?? 9:30*******************************************/
    add_filter('app_weekly_calendar_to', 'update_app_to_text', 10, 2);
    function update_app_to_text($text, $t)
    {
    global $appointments;
    $new = strtotime('-15 minute', strtotime($text));
    return date('H:i a',$new);
    }

  • Alex
    • Flash Drive

    Ok. Resolved it.
    Change last string to "return date('H:i',$new);"

    What about other questions?
    I'll list them:

    1. I need two different schedules. One should start from 8:30 and another should start at 8:15. It's two different services, two different service providers and two different pages of the site.

    2. I need to show numeric dates in the schedule table. For client usability. It will be helpful to see date of the week, not only name of the day.

    3. I need to hide th string "service provider [NAME]" from confirmation block.

  • Hoang Ngo
    • Code Slayer

    @Alex,

    1. I need two different schedules. One should start from 8:30 and another should start at 8:15. It's two different services, two different service providers and two different pages of the site.

    The time is base on a Service Provider working time, so you can try to change each Service Provider working time.

    2. I need to show numeric dates in the schedule table. For client usability. It will be helpful to see date of the week, not only name of the day.

    Can you please a screenshot, so I can understand your idea better?

    3. I need to hide th string "service provider [NAME]" from confirmation block.

    You can use this code, please add this to the mu folder or theme's functions.php

    add_action('wp_footer', 'hide_app_col_table');
    function hide_app_col_table()
    {
        ?>
        <script type="text/javascript">
            jQuery(function ($) {
                $('.my-appointments-worker').hide();
                $('.my-appointments tr').each(function () {
                  $(this).find('td:eq(1)').hide();
                })
            })
        </script>
    <?php
    }

    If you have any issues please don't hesitate to let us know so we can assist

    Best regards,
    Hoang Ngo

  • Alex
    • Flash Drive

    1. It doesn't works. :slight_frown:

    Time base: https://yadi.sk/i/V9TkQy4xcgJr5
    Service providers: https://yadi.sk/i/yLKyVLtgcgJt9
    Workings hours for 1 provider: https://yadi.sk/i/dUa7Iun-cgJvb
    Workings hours for 2 provider: https://yadi.sk/i/nVE5WE9fcgJwY

    Here is the links to my schedules. It's the same. NOT different times.
    http://chelbunker.ru/?page_id=13
    http://chelbunker.ru/?page_id=890

    2. Look at the screenshot https://yadi.sk/i/CNyY_MvjchyZt

    3. It didn't help. :slight_frown:

  • Michael Bissett
    • Recruit

    Hey @Alex,

    #1: I noticed that you have this set inside of your functions.php:

    function new_starting_hour( $start ) {
    return 8.5;
    }
    add_filter( 'app_schedule_starting_hour', 'new_starting_hour' );

    With that, you're forcing the start of all work schedules to begin at 8:30 AM. You'll need to remove that in order to start adjusting the schedule.

    However, at present, it appears that you'll also have to change over to the monthly calendar in order to have the start times be shown according to the schedule you're now wanting (the weekly calendar could be used if the schedule went according to the way it was stated in the first post, however).

    #2: If the monthly calendar were to be used, then the date for each day would be shown on the scheduler. Otherwise, the way that you laid out in the screenshot would require some custom coding presently.

    #3: You can insert this CSS code into the Simple Custom CSS plugin that you have on your site (Appearance -> Custom CSS):

    .appointments-confirmation-worker {
    display: none !important;
    }

    That should remove the provider name on the confirmation form for you. :slight_smile:

    Hope this helps!

    Kind Regards,
    Michael

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.