For me, there is a problem on putting constraints on the view because nothing enforce them on the record read.
Such behavior could be deducted from the domain on the start/end datetime but it is not possible to write such domain on datetime. Instead it would require to split the date and the time into two fields. But the view on client side should be upgraded to support two fields.
Also this shows another issue with such behavior on datetime is that datetime are timezone aware so depending from the client timezone the "visible" range isn not the same. This would also be fixed by separate the date and the time.
Calendar view shows available hours from 00:00 until 24:00 but in many cases the usable time range is only during the working hours.
This makes the calendar view a bit annoying because from 00:00 until 08h or whenever the company starts its working day, is the first time interval shown in the calendar.
It would be nice if we could add some "min_time" and "max_time" attributes to the calendar view.
fullcalendar supports it:
I don't know about GooCalendar.