This is hard in Bubble. Recurrence rules are basically a client-side thing and (at least by default) Bubble is driven by server-side, database-stored values.
If you do want to support rrules, you will need to define a backend representation of such rules and then have a way of interpreting them on the front end.
I’m not aware of a native or plugin component for Bubble that does this (has a good interface for rrules), beyond being able to hack this together with my Calendar Grid Pro plugin — which would be kind of a hassle and cannot support all use cases).
It may be possible that one of the Full Calendar plugins for Bubble supports rrules, but I have no idea what they expect you to provide. (But then… Full Calendar… Ewww.)
Consider the problem. Here’s an example:
- I am not available on any Wednesday between 10 AM and 10: 35 AM (my Timezone) from now until… forever (no end date).
This is a very common rrule. Obviously, it’s impossible to compute the list of date ranges on Wednesdays that I am unavailable and store them in the database (as this list is, in fact, infinite).
In fact, it’s stupid to (on the backend) to compute even one of them.
The implementation of rrules must happen on the front end (client side — in the browser). And the need for this computation is entirely dependent on the display component.
Are we displaying a single day and need to just block the times I’m unavailable on that day (only if that day happens to be Wednesday)? Well, that’s different from if we’re displaying a month-view of individual dates, right?
Nobody’s ever going to write a plugin to address all of this, because the presentation is so tightly tied to database structure.
So, you’re in at least semi-custom-code territory here. (I’ve left out a bunch of stuff about how in vanilla Bubble you can’t do iterative stuff with any ease, anyway.)
None of this is “hard” in code, but it’s very application-specific.