For professionals it is necessary to keep a eye on appointments and to avoid any sort or hassle in it. I am sharing you some of the best tips that i found while looking for solution.
Display all possible times : This means you have to prefix the time slots. You can do this by using a combo-box that will allow user to choose only the available appointments for a given day and further this can be populated from a query, and re queried when any changes happen.
Here are two tutorial along with sample files that can be really useful.