Howdy Chris,
I would love to help you with this.
Do you already have this site setup in WordPress, or are you trying to plan out how you would set it up? Is it a multisite?
Have you seen the Community Events plugin? It does much of what you want. It allows people to register on your site and submit/manager their events. They can set themselves up as an Event Organizer, a Venue, or both. And then submit events to your calendar. From there you can approve the events (even set them up to automatically approve them if you prefer). A visitor to your site can view all events, or they can view a page that shows all event for one of the venues or organizers. Does that perhaps sound like what you would be interested?
Cheers!
– Brook