This paper considers appointment scheduling in a setting in which at every client arrival the schedule of all future clients can be adapted. Starting our analysis with an explicit treatment of the case of exponentially distributed service times, we then develop a phase-typebased approach to also cover cases in which the service times' squared coefficient of variation differs from 1. The approach relies on dynamic programming, with the state information being the number of clients waiting, the elapsed service time of the client in service, and the number of clients still to be scheduled. Numerical evaluation of the dynamic programming procedure poses computational challenges; we point out how we have succeeded in overcoming these. The use of dynamic schedules is illustrated through a set of numerical experiments, showing (i) the effect of wrongly assuming exponentially distributed service times, and (ii) the gains (over static schedules, that is) achieved by rescheduling.