Meeting room booking system

This is my plan:

  • Create CalDAV calendars for each meeting rooms (with a separate user, to prevent anybody’s calendars to be distroyed)
  • An overview can be shown as calendar of today and of the coming 7 days, on an overview page. Or going to the Calendar-view in HASS.
  • some code to handle a reservation by making a calendar item.
    • Room selection. Querying all rooms containing “Meeting”
    • Slot-selection per 15 minutes + number of slots
    • Dropdown of names, I get out of Keycloak or Mattermost.
    • FYI-message to Chat-tool
  • Removing of reservation: same, and no special rules. The message to Mattermost makes it clear.
  • A touchscreen (ESPhome) that has these tabs:
    • current meeting + upcoming meetings
    • make/change/delete reservation
    • tomorrow
  • Some random things, like a light that signals the state via a color.

Version 2 is focused on better identification, which I expect to take more time:

  • Chatops for reservations.
  • NFC on touchscreens, for identification.
  • As OpenID/oAuth2/SAML is not possible in HASS. I do hope to find a better way to allow identification in HASS.

Based on what I read, I’m actually expecting the adding, updating and deleting of CalDav-events to be the hardest to do. See Service to create event with Caldav - #14 by freeDom-1 and the last message of that same user.
So plan B is to not use a calendar.

All suggestions welcome!