are you asking for a functional or a technical sollution ??
Assuming your Event has an association to Room, you could create a microflow that accepts an Event, retrieves the associated Room and then retrieves other Events for that Room whose time overlaps with the time of the Event that was passed in. If there are other Events, you can take the appropriate action (display an error message, remove the association to that room, set the times for the Event to the next available time, etc.)
You could then call this microflow in OnChange events for Room reference selector and StartDateTime and EndDateTime attributes on your Event_NewEdit page.
Hope that helps,