Scheduling App Architecture

Hello all -

I’ve read a number of posts on creating Booking and Appointment systems with Bubble, most of which concluded that an 3rd party API was preferable to a custom solution with Bubble. Nonetheless, I’m working on building the latter to serve as a room booking feature within my app. There will be multiple vendors, each having multiple rooms, bookable hourly.

Here’s how I’m planning to execute this as of now… (I’d appreciate any guidance as this is my first endeavor of this kind)

I’ll make an account with a role called “Studio” which can own another data type called “Rooms.”
To define bookable hours for each Room, I’ll make a third data type called “Time Slots,” with fields Index #(1-168), Time (h:mm) and Day, where each entry is a generic representation of the available hours in a week.
Each room will have a Closed and Open Hours field, containing a list of Time Slots which should be in each category.
When a room is created, I’ll display a RG for Time Slots 7 cells wide by 24 cells tall.
Each cell of the RG will contain a shape, with a yes/no state called “Bookable” and the color of each shape will be designated by this state.
When a shape is clicked, the state will change.
When the Room Add form is saved, Time slots will be added to Open or Closed fields in the db based on the state of the shape.

Once this is done I’ll need to create some kind of recurring Event representing the hours each room is closed based on consecutive spans of Time Slots in the “Closed” Field, and display this on a FullCalendar in a Room Group. I’m not totally sure how to do this.

Am I on the right track?