One approach is to create subclasses or subevents. I have done this a couple of times, where the classes are stored in a custom table, that way you could have as many classes(subevents) per event. Pretty easy to implement and also allows for the dates to be very flexible. It also looks like you are looking for recurring events, which may benefit you as well. For that, you would need to hook up a global event handler on the document type and then create x amount every x days,weeks,months,etc. There would need to be some sort of way to control and pick the recurring items and timeframe, but its easily done with a bit of custom code.
Does any of that help at all? If not, Give us some more information about your needs and what you want/prefer and we can go from there.