There are many choices of Calendars for your website. You can set the user manager so events can be added on the front-end or the back-end. For example if you can give an employee privledges to add events. When the employee is logged in they get an add events button. The Super Administrator gets an email to approve the event before it gets published on the website, it's a nice checks and balances.
Here is an example of the JCal Pro Event Calendar