Appointments+ - Can't Schedule a Service for Each Service Provider


When I set the services capacity to 0 (defaults to the number of available service providers), the front-end of my website (where the website user would select and schedule a service and time) does not allow me to schedule a service even though there are providers available. I am scheduling all of the appointments from the front-end of the site to make sure that time slots are available if there are providers available.

I have three service, 1, 2, and 3, and three service providers, A, B, and C. Provider A provides services 1, 2, and 3. Provider B provides services 1 and 2. Provider C provides 1 and 3. If I schedule an appointment for service 1, it allows me to schedule three appointments (so far so good). If I schedule service 1 two times in a row and then try to schedule service 2, the time slot is not available. If I schedule service 1 then service 2 then service 1, the time slot is available.

Why does the order that the appointments are booked in affect the availability of the time slot? Does the plugin evaluate the availability of the service providers sequentially and block off a provider even though the provider is not specified?

Where I am stuck is that there are three providers for service 1 and two providers for service 2. If service 1 is booked only twice, then there is still one provider available for either service 1 or service 2. On the back-end (the list of appointments under the appointments plugin on the site's WP admin dashboard) all of the appointments are listed with the provider as "Our Staff".

Where are I going wrong? Is there a configuration that could be causing this issue?

Please let me know if you need back-end access to check the settings.



  • Vaughan

    Hi Dave,

    Hope you're well?

    What I think is happening is because you aren't selecting a provider manually, it is probably selecting the providers in order.

    So, if I book service 1 3 times, that's fine as all providers provide service 1.

    However, as only providers A & B provide service 1 & 2.

    i book 1 app, and it selects provider A.

    The second time, i book service 1 it selects provider B

    This means that if i try to book service 2 the 3rd time, provider C is selected as A & B are booked. Provider C doesn't provide service 2 & providers A & B are already booked.

    Hope I was clear in that explanation.

  • qtree-systems

    Hi Vaughan,

    So even though the back-end provider shows "Our staff" the providers are "reserved" in sequential order. Does that mean that it is not possible for the system to use all available providers if a provider is not specified on the front-end?

    My providers are not people, they are "spots". They are akin to chairs in a barber shop, where different chairs can be used for different purposes. Say, two chairs can provide haircuts and shaves, but another chair provides haircuts and shampooing. I would like the chairs to be fully utilized so I need the haircut chair that is used to be based on whether there is a shampoo or shave scheduled. I do not want the person making the appointment to have to select a chair, only the service. Is there a way for me to make this work?

    Is it possible for the plugin to check the number of possible service providers against the number of services reserved? Maybe something like this.

    Check the number of providers for the requested service, A, as well as services B and C to see if there are any available time "slots" for each service. If any of the services has no available "slots", reserve all of the service providers for that service. Determine which services, B and/or C, is offered by the same provider as the requested service, A, (i.e. the service provider offers A and B) and has the least quantity of available "slots". Use the total number of providers for each service minus the total number of reserved appointments for each service instead of the number of available providers. Continue comparing the requested service, A, with each other service until the common service with the least availability is found. Temporarily set the provider to one available for both service A and the least available service. Check each time a service is booked. The provider may change based on newly requested appointments

    It is a bit tedious and could be a resource hog but that depends on the number of services and providers. That may allow the plugin to check if there are any "slots" available for a given service.

    Does the system need to automatically assign a provider even if one is not specified? Is it possible for no provider to be specified? If not, what is the purpose of the back-end listing the provider as "Our staff"?

    Please let me know if there is anything I can do to help, or you would like to look at my site for the specific situation.



Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.