Add as many calendars as you need, each with their own time slots and custom fields. Then, each calendar be assigned to a booking agent, so they can see who has registered and get email notifications.
Create your own custom reservation fields to get any information you need to for every appointment. Create text fields, paragraph fields, drop downs, checkboxes and radio buttons. They can also be marked as 'required'.
Custom time slots
Custom time slots features gives to ability to add custom time intervals, add vacation days, create different than normal time intervals for specific days ( i.e holidays ).