WP Solution for Booking/Multi User Shops/Community

I have a client that wants to build a community-based site for contractors of various skills (handyman, web designer, teacher etc). The site would be informational, with a blog. That's easy. Then would have a forum built-in. Also easy. The not so each part is the meat of what I'm wanting to do. What I want to know is this: What's the best solution to cobble this all together? Is it possible to do all the following in WordPress?

Client's wish-list

I want to have a Multistore feature to each contractor's profile. This will allow each participating contractor to add multimedia files to their profile, such as screencasts and such to their profile. Other members can purchase from and pay directly to that contractor.

Add a booking calendar that allows for the following:
Each contractor can add a travel schedule that appears on their profile as well as in a general consolidated travel page. Expired dates are automatically purged from the system.
Paid members can get priority booking, meaning that a paid member has access to a contractor's travel prior to the general membership.
Members can request a date, time of appt, and length of appt which is then reserved. An email is sent to the contractor who then confirms the appt and an email is sent back to the member confirming. That date and time is blocked out of the system.
Travel alerts for paid members, that can select a check box in a desired contractor's profile. Whenever they travel, an email is sent directly to that paid member alerting them of their travel plans.
Deposit taking option, should be made available for Ladies who opt to require a deposit to book a session.
A general travel page will list contractors that have posted a travel section in 2 ways, first by contractor's name. Secondly sorted by the following:
Country, state/province/territory and city should be dropdown selections showing the available options.
Schedule full notice, when a contractor's schedule is completely full they can select a box that shows their schedule full but can accept standby's in case of cancellation.

General profile change alert. A member can subscribe to a contractor's profile and be alerted anytime they make a change.