Is it possible to to make room private, i.e. only authorized persons can see the bookings in the calendar page?
On top of it, is it possible to hide the booking reason from calendar, or introduce new fields in booking form that will not be shown on calendar and not send in emails, but only seen by room owner?
That would certainly be possible if you have someone capable of developing this (or have the necessary skills yourself) - and if it’s implemented in a clean way (e.g. behind a setting) then we might even accept it as a pull request so you do not have to maintain it in a custom fork.
I think for simply hiding it, changing this method may be enough:
@post_dump(pass_original=True)
def _hide_sensitive_data(self, data, booking, **kwargs):
if not booking.room.can_manage(session.user):
del data['internal_note']
return data
to
@post_dump(pass_original=True)
def _hide_sensitive_data(self, data, booking, **kwargs):
if not booking.room.can_manage(session.user):
del data['internal_note']
if not booking.room.can_moderate(session.user) and not booking.can_edit(session.user):
data['booking_reason'] = '<hidden>'
return data