Dynamic scheduling with due dates and time windows: an application to chemotherapy patient appointment booking