New Plugin: TopCal - Dates, Ranges and Time Slots

Hello! Is there a way to limit future availability to 2 weeks max? This way a user can’t book anything that’s greater than 2 weeks out.


Take the available times slots output from the plugin and filter it as need :slight_smile:


Thanks for the response! Do you know what the filter should be? I tried the following but no luck:

@kevingrand if you want to put this 2 weeks max constraint on a Calendar element, then you would add a filter in this Conditional:

A constraint there would read:
Current Date/Time +days:14 > This Date
note you may want to use the Change Hours To function after adding the 14 days in case you want to either include or exclude the entire 14th day of times.

This will filter the GetAvailableTimes.

But you could also put a constraint just on the Calendar Dates themselves instead of the Time Slots. Which might be what you are trying to do in the screenshot. In that case use something like
Current Date/Time +days 14 > Current Cells date then hide or make this date unclickable (or the opposite expression if adding it to logic to make it visible/clickable)


This worked perfectly! Thanks so much Geoff :+1:

Plugin Update version 2.4.0

Upgraded to Bubble’s Node 14 update. Testing showed no issues but as always if you experience any technical issues please reach out


can you give more details about this update?

It is in regard to this Bubble Update with a behind the scenes update to Plugins: Updating plugin editor to new node version

I am actually unsure if I needed update the Plugin version as Bubble announced they would upgrade it automatically anyway. The upgrade has gone smoothly though so there should be no worries upgrading to this version if you were on the previously most recent version.

1 Like

Any suggestions on how to sort a repeating group by date when you are getting date ranges from the plugin? Because Bubble doesn’t allow you to sort date ranges in repeating groups

One way to do this is using the ListShifter plugin

Add the List Shifter element to the page and setup this workflow:

In the element set the Data Source to the list of date ranges:

For the sorted repeating group, reference the list shifter’s shifted list:


Hey @gf_wolfer, I’m glad to see you call this out as people are sometimes asking (in other places) how one might go about sorting date ranges (which is impossible in vanilla Bubble)! (Though it isn’t 100% perfect, as if we compare two items and they have the same exact start date/time, it should really sort the items by their end-times, but List Shifter doesn’t support that. But it’s close enough for jazz and there are scant few algorithms that do it perfectly, anyway.)

But I do have one correction: List Shifter isn’t “free”, but is available to anyone and is Open Source. Those who are unable to pay for it are welcome to it until such time as they are. Those who are able are asked to contribute to the ongoing development of cool plugins under my “Karma-Ware” concept: GRUPZ: Karma-Ware Plugins for Bubble.

(BTW, this concept is so frighteningly unsuccessful [e.g., more than 14,000 installs of List Shifter and I’ve yet to come anywhere near recouping my time & money investment in its creation and maintenance] that I’ve basically ceased publishing open source plugins and all of my future work, no matter how minor, will be under Floppy or other similar plugin collections. But I suppose that could change again someday. :man_shrugging::crazy_face:)

1 Like

Thanks for the clarification Keith, I’ll update my post. Also, appreciate the effort you put into Bubble for everyone so I got you a round of drinks :beers:

1 Like

Now that’s the holiday spirit, @gf_wolfer! :+1::smiley:

You’re the man!! You’ve been so helpful.

Thank you for the great plugin @keith , I will contribute as well

1 Like

Well thanks! Your karma is improving even now’

Hi @gf_wolfer I bought the plug in and it is working great with my app. I just have one question.

Does it works if I set appointment length longer than 60 minutes? Because I’m trying to set an appointment for 90 min but it is not working just for the length of 90 minutes. So I don’t know if that issue is because the plugin is for time below 60 min or there is a problem with my settings.


It should work fine with any Booking Duration time frame expressed in minutes, including 90 minutes.

What is not working? Does the plugin not produce time slots, are they different time slots than expected, etc?
One thought might be that the results are different than expected as the Time Slot Interval value also plays an important role here so you can try adjusting that number as well to see the different results.

Hey @gf_wolfer! I had to check all my setup and it was my mistake. It wasn’t working in the create booking confirmation button because I wasn’t adding the time of the dropdown for 90 minutes I just had 30 min and 60 min in the option choice for the dropdown.

Now it is working great.
Thank for taking your time to help.

Hi! I’m looking for a plugging that would cover a similar use case to the one you’ve mentioned (Italki calendar) and I wonder what plugging you ended up using and if you’re happy with the result. Thanks!

Hi, maybe has already been asked but what’s the use case of the workflow “create a GetAvailableTimeSlot” ? Once created, is it possible to update an existing GetAvailableTimeSlot on the page ?