- Define schedule data structure
- Define what it means to be free/available during certain time period
- Define merge operation of free slots
- Define data storage and IO
- Given schedules of n persons
- Query for available time periods
- Compute the available time slots