Hi,
You guys are doing a great job.
I’d try to use the new repeater elements under ‘Lists & Grids’ you could design each element to look like a calendar/day entry. Later set the relevant data into the repeater items.
You could connect a repeater with no code. however, with such complex scenarios I recommend you check the repeater API .
Place a button in the repeater and show it only for free slots. When the user clicks on the button a Lightbox, or a different page, will be opened to book a rental/class.