Local diving club - membership, calendar, rental/booking

Hi guys. Im searching some plug-ins which can help me out with the following:

Calendar for booking of our 2 boats and our club house.
Calendar must be based on a member list
The member list is also the backbone of the calendar system to the digital member handling it should be possible to add new members and information to members of a selected number of admins
The booking system has hierarchy so that one instance can only book both when approved
Common Message System (can easily just be a forward to emails from the member list) - to be used by eg admins by common messages for all / selected members and from the calendar when booking
It should a member be possible to turn off notifications for the booking, but not common messages from admins.

When booking a boat:
Only members approved can book the boats.
On booking you must be able to choose whether to UV hunt or bottle dive (giving different max. Number).
You can then add other members to the booking or choose guests
One must also be able to book a boat and then choose to send a message to members that you have booked the boat on and for more participants - so people can come in and add themselves or guests.
At the end of booking, you need to make a “report” the number of members, guests and how long the boat has been booked, to be sent to selected admins.
When you have booked a boat, all members shall receive a pre-written checklist and links to a youtube video