Have you looked at the events management package? You may have to change some descriptions, but it's a good start.
Cheers Ben