When an appointment is cancelled, we would have a dialogue box shown to the agent to put a reason why it was cancelled.
This dialogue box would have an open text box and then 2 - 3 default 'checkboxes' 
Member/Customer no-show
Member/Customer double-booked?
Agent double-booked?
In a future task, we could create a report to see this information about cancelled appointments