Prevent double booking in a appointment booking app

I’ve created an appointment booking app and trying to figure the best way to prevent clients from double booking with my professional users. Any idea as to the best strategy to prevent this?

Just thinking out loud, but I’d probably have a list of available times (maybe in 30 minute chunks) for each professional. When one chunk is booked by a client, it is removed from the list of available times, so it doesn’t show up as an option to other clients.

Haven’t tried it, but that’s probably what I’d try to do.

1 Like

Great call on that one, really appreciate it.

That makes total since. I have my intervals set up to every 15 minutes. I’ve been playing around with it but not quite sure how to set it up to where the taken appointments slots do not show up. Any thoughts?

As above, Bubble likes lists.

Let’s ignore days for now …

A generic list of Slots
A list of Booked Slots on a Professional.

Then I would display the generic list of slots, and filter where that slot is not on the Professional’s booked slot list.

1 Like

I’ve successfully integrated a service called, which is a booking engine that allows for more complex availability filters, buffer time between appointments and so on.
A lot of the features are not possible to achieve on Bubble today, I believe.

1 Like

Thank you for the advice!

Will look into that. Really appreciate it.

I believe you can do more than you can imagine in Bubble :slight_smile: Besides that, if you need any specific feature the Bubble team can help you out.
The price for is extremely high and what i would suggest is that, us who need this feature in Bubble, to raise some money and get it integrated. What do you think?


1 Like

Sure, I would love to have that functionality integrated :slight_smile:
I think the hardest part to recreate in Bubble right now is the “virtual objects” that are created on the fly in timekit every time a user searches for a provider’s availability.

If a provider sets his availability to “every monday between 13-19and every thursday between 08-17”, and you want to display his available “time slots” the next three months, in Bubble you would have to create a record for every single available “time slot”.
And what if the user can choose between 30, 45 or 60 minutes appointments?

In Timekit, those records are created on the fly every time a user make a search for the providers availability. In bubble you would have to store thousands of records for every provider.

In addition - let’s say the provider would like there to be a 15 minute gap between every appointment?
So if a user books an appointment from 12:00-12:30, the next appointment available would be 12:45.
Also, a provider might have multiple calendars that should be checked for availability during a search.

I cannot see a way for that to be recreated in Bubble now, unfortunately…
And I guess it’s quite a complex thing to implement, even though I might be totally wrong :slight_smile:

If its doable and realistic to implement this through sponsoring, I would probably be on board (depending on the cost, of course).


How did you manage the issue at the end?


I integrated :slight_smile:

There is an Agriya’s appointment booking module that prevents overbooking & makes you keep away from all kind of manual booking errors.Also you can set up this module for all sorts of business verticals like Doctor, Spa, Salon, Counseling, Homeopathy, Physiotherapy…etc.Choice is yours!

Get a glance,

Hi Nigel,

I think I need to take this approach for my app but I don’t think I’m visualizing the slots correctly.

Would slots be a data type, and then I could create a clean data set with each slot having a start time and end time, without a date attached? How could I remove the date from those slots?.. but then bring it back in when it comes to using the slots to schedule?