Services Plugins FAQs

Calendar Booking & Time Slots (no time slots generated through midnight)

I have a need to let bookings go past 12am (midnight) for event bookings. Since the available slot element has 0-24 for each day and the settings don’t respect the option for a time slot to be generated for example 18 (current day) to 2 (next day).

The plugin has been working great otherwise! I was thinking about duplicating the timeslot generator with a manual time zone on a 12 hour difference then merging lists to get around the hard coded 0 - 24 limits theoretically possibly giving me the possibility of scheduling a maximum of consistent 11 hour bookings around the clock accounting for the midnight bug of timeslots only going to 11pm. But I already have up to 20 available slot elements being merged for up to 20 overrides (all pulling from a single search list and hidden if not used) when a user wants to add additional slots (schedule override still observing hard bookings) to the default hard coded schedule. So this could possibly double it. Plus I have to redo the work for every reschedule area I need to make.

It’s an edge case but I already have a client asking within weeks of deploying our app. I also think there may be more people who would want to book an appointment going through midnight so I thought I might drop this here.

Here are a few screenshots:


I should specify also the use case for this is as follows:

  1. Employee sets their schedule like normal.
  2. Client asks for something outside of the schedule and employee agrees for a one time exception.
  3. Employee enters in a date override in their portal making the date available for the client to book on their end.
  4. In this case the date override is going past midnight.

The date override is generated by a separate time slot element with no restrictions on schedule because the restrictions are defined by the override itself with any hard bookings in the “busy” parameter.

I guess my wish list for this plugin would be as follows:

  1. Add a “schedule_override” time range list (this would override the “bookable hours” but not “busy”)
  2. Allow the 0 and 24 parameters in the “bookable hours” area to cross over to the next day and allow for a multiday timeslot in the same time zone

I also found a bug where when using 0 and 24 time inputs - half an hour timeslots are generated for each day after 11pm at the end of the list. This would explain the 11pm cut off bug I was experiencing. (I just filter them out later in another layer by using a constraint subtracting the start from the end with results in minutes matching the duration in minutes input) But this also adds to the complexity. I ended up diagramming the whole setup on a whiteboard to keep track of the layers haha.

See screenshots



(From and Until dates are set in conditionals) Duration 480 min

My integration is fully working now but at the cost of 47 layers and a limit of 20 date overrides. Now to go do some performance tests on slow machines and work on optimization :nerd_face:

Hi @jon8

Thank you for your message and your recent purchase.

We apologize for the delay in getting back to you over the weekend.

I just wanted to let you know that we’ve received your message and are currently looking into it with our development team. Please confirm if the reported issues are still present today and we’ll be happy to assist you further.

We appreciate your patience.

Best regards,
Mina

Yes, thank you!

These are the final present issues:

  1. (bug) The strange issue is still there with the 30 min time slots being generated.
  2. (limitation) No timeslots are generated through midnight when 0 and 24 hours are selected through to the next day (maybe this is a limitation by design but would be useful to have this)
  3. (feature request) It would be very nice to have a built-in list of date ranges to override availability outside of usual “bookable hours” as this is a feature in most scheduling platforms.

Please note: I HAVE gotten around these three issues with the workarounds noted above so this is not an emergency by any means but the solutions are very brute force. Performance is ok but would be much better with a fix to the internal javascript instead of my duplicate and eliminate method. Just leaving this here if your team opens this project back up or if anyone else is attempting the same features.

Hi @jon8,

Thank you for the detailed report!

For the issue with the 30-minute time slots being generated, we’d love to dive deeper into this. Could you kindly demonstrate the bug in action on your page, along with the setup of the plugin elements, actions if available, and what data you are providing the element? feel free to send either a screenshot, or you can create a screen recording using tools like Loom.com or other preferred software.

Regarding the limitation of time slots not generating through midnight and the feature request for an override list of date ranges, we understand how valuable these enhancements could be. Unfortunately, we won’t be able to add these features now. We could add them to the list of plugin improvements. We invite you to sponsor the development. To kick off the review of the sponsorship request, please complete this Sponsoring Plugin Features Form.

Feel free to reach out with any further questions. We’re always here to help!

Best regards,
Mina