1. A method comprising: presenting, by an interview-scheduling tool executing by a processing device, a user interface to receive candidate availability information from a user for possible interview schedules for an interview candidate and to permit the user to define an interview schedule framework that specifies desired criteria for a desired interview schedule for the interview candidate, wherein the desired criteria of the interview schedule framework specify a plurality of interview sessions, and, for each a plurality of interview sessions: an interview topic for the respective interview session; and a desired start time and a desired end time or desired duration for the respective interview session; receiving, by the interview-scheduling tool, the candidate availability information and the desired criteria, wherein at least two of the plurality of interview sessions are back-to-back interview sessions; defining, by the interview-scheduling tool, a data structure representing the interview schedule framework, wherein the data structure comprises a set of constraint satisfaction problems (CSPs); and presenting, by the interview-scheduling tool, zero or more interview schedule results that fit the desired interview schedule for selection by the user, wherein the zero or more interview schedule results are automatically generated from the set of CSPs by a constraint solver tool and without additional user interaction at the user interface.