I have an office with 2 meetings rooms and I need to allow people to choose how many hours they need

I setup the Time base (minutes) for 60 as minimum booking time. However I need to allow people to book for as many hours as they want and they should be able to pay the total of hours at once. Can we do that?

I watched all the videos, but none of the them or the FAQ page mentions this.


  • Patrick

    Hi there @Ananda

    Welcome to the forums, glad to have you aboard!

    There are 2 ways you can do that:
    1 - MarketPress integration
    2 - Set up multiple services

    Leveraging the automatic integration of Appointments+ with MarketPress enables you to set up your make-an-appointment page as a MarketPress product.

    If your clients need to book multiple hours, they need simply adjust the quantity of the product (their 1-hour appointment) that they add to their shopping cart.

    When they check out, they'll be billed the correct amount for whatever multiple hours they selected.

    However, in your admin under Appointments > Appointments, you will see multiple appointments if clients choose to book multiple hours that way.

    The 2nd option is likely much easier. :slight_smile:

    Simply create a series of services like so:
    1-hour booking
    2-hour booking
    3-hour booking

    Your clients would then select the duration they require, and the calendar would display the available time slots for the duration and day they choose.

  • Ananda

    Hello Patrick.
    I created a series of services like you suggested. That would work well for us. However the when we pick a day that is fully available, and for example I pick a slot of 4 hours, the times available refreshes giving me starting time from 9am, then at 1pm, then at 5pm. Instead of giving me all starting times available. In this case every starting time should be available. Do you know what I mean? How can we disable the times available on the right to show all available starting times?
    Please test yourself and in case I havent been clear.
    Choose a day and try to book a meeting starting at 10am for Meeting Room - 4hrs
    Hope you can assist me.

  • Michael Bissett

    Hey @Ananda! :slight_smile:

    If you go to Appointments -> Settings, and click on the Add-ons tab, you'll see the "Durations" addon. Activate that, and then click on the General tab.

    Close to the bottom of the "Time Settings" section, you'll see "Time slot calculus method". Set that to "Minimum time based appointment duration calculus (legacy)". That will allow you to be able to have the available times based on your time base, instead of the service time specified.

    If you're wanting to show 15 minute intervals on the appointment scheduler (while still keeping the service times set to their proper times), you'll have to set "Time base (minutes)" (located in the General tab as well) to 15. It's your choice, but 15's a nice number, right? :wink:

    Now, I know you didn't ask about this, but I wanted to bring up one point. The way things are set up now, your Meeting Room scheduling and your Board Room scheduling are both lumped into the same schedule. So if someone reserves the meeting room on April 24th at 5 PM, even though the Board room could be open at that same time, it'll be marked as Busy. Which leads to sadness. And nobody likes being sad.

    What you can do to fix this, is set up a service provider for each of the rooms (go to Appointments -> Settings, and click on the Service Providers tab to learn more on setting them up), and with the setup of the service providers, make sure you check the "Dummy" box for each.

    (If you haven't already modified "Confirmation email Message" & "Reminder email Message" [under "Notification Settings" in the General tab] to remove "SERVICE PROVIDER" and replace it with something like "Our staff", I'd do that now, otherwise the usernames of your dummy users will show up there.)

    Insert the following CSS code:

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

    Into a CSS plugin like this:


    (or a child theme, if you so desire)

    And that'll hide the mention of the service providers on the appointment page. (I'd prefer to do it via PHP, but that's a bit more complicated for right now).

    After all that's done, you should be good to go! Please let me know if that works for you, or if further work is needed. :slight_smile:


Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.