Advice on plugins to use for tutors' site

May I seek your advice on the possible plugins to use on my subject-based tutor-booking site. From a student view, he selects the subject (math, science, etc.), which then display a list of tutors registered to teach - together with Time-Availability, Tutor Ranking (student will rank after the session), and Rate Chargeable. The student will then book a tutor and prepay (either per booking or stored credit {via paypal, credit card}) for that tutor.

As this is quite a service booking site, I think Appointment is needed. Is there other and will they all work together nicely?

Thanks for replying!