Quickly putting out there how I think this could be done, not in code because writing code takes me too long
The scheduler in that page allows minimum 15 min items, thus max 4 items in an hour.
<div class=container>
<list range filter 0 - 24>
Set variable hour=currenttiddler
<list filter [mon tue wed thu fri sat sun]>
set variable day = current tiddler
<div class="day">
<list filter items both tag{hour}tag{day}
<div class="dayitem">item name</div>
<reveal if count tag{hour}tag{day} < 4> (I'm sorta unsure on how to make this work, in that case, it might need a separate button)
button to open model
<close reveal>
<close list>
</div>
<close both lists>
</div container>
Now this whole thing would have to be styled to look like the scheduler in the page, for that
div.container{ display: flex; flex-wrap:wrap}
div.day{ fixed width and height, border: 1px solid #ddd}
An alternative way to hide the button without reveal would be to set fixed height, overflow-y hidden for div.day and set div.dayitem height to 1/4th.
In that case, if there's more than 4 items, the button won't be seen I think.
This is how it had come out when I was trying something similar the other day
There might be lot of holes in this logic, but just putting it out there.