Something like this;
Related domain model
Edit page
List is not over reference, but a list as result of a microflow, returning all rooms which doesn't have a referenced booking within the requested booking period
Datasource microflow
To get this thing dynamic (datasource microflow runs when opening the page) add an onchange microflow to the EndTime which refreshes the Booking object
On-Change microflow
This On change Microflow can also be added on Date & StartTime so that it acts on any changes made
P.s. I suggest you use other widgets, Atlas UI to make it beautiful. ;-)