Bookings and conflicts
Rooms are booked for a time range with a team name, a description and a list of attendees. Overlapping bookings for the same room are rejected at the point of booking, with the conflicting reservation shown so the organiser can pick another slot rather than guess.
Proper calendar invitations
Attendees receive an actual iCalendar invitation with a stable UID and an incrementing sequence number. That means updating a booking updates the existing calendar entry instead of creating a duplicate, and cancelling it removes the entry. Getting the sequence handling right is unglamorous and is the difference between a booking system people trust and one they work around.
Counter-proposals
When an attendee proposes a different time from their calendar client, that reply comes back as an inbound message. OTG HRMS can process it, match it to the original booking by UID, and present the proposed time to the organiser for a decision. There is also a web flow for the same thing, for attendees whose client does not support counter-proposals.
Recurring bookings
A recurring booking creates a series with a shared group identifier, so the whole series can be viewed and cancelled together rather than one instance at a time.