A doctor needs basic a system to book appointments for his patients. The application must support managing the list of patients, and the creation of appointments.
Each appointment must be set within working hours (9AM to 6PM) and have a duration set in multiple of 30 minutes (30 minutes, 1 hour, 1 hour and 30 minutes, etc). Appointments cannot overlap.
For each patient a list of basic info is required (first name, last name, email address and optionally a phone number). The email address must be validated using an API service of the candidate's choosing.
Patients need to be notified via email whenever an appointment is created or deleted.