Patent ID: 7603285

Claim:
A computer readable medium having computer-executable instructions stored thereon for causing a computer to perform a method for scheduling by performing steps comprising: negotiating a reservation to perform an order for a customer against a schedule; adding the reservation, wherein adding the reservation includes identifying a duration, a priority, a location, an appointment window, a mobile service representative, a bumping indicator, and an aggregation indicator for the reservation, the aggregation indicator having a first setting to enable aggregation of the reservation and having a second setting to disable aggregation of the reservation; identifying shifts of mobile service representatives that are suitable for the reservation; sorting the identified shifts from a more desirable shift to a less desirable shift according to objective criteria associated with the reservation; booking the order to one of the shifts of mobile service representatives starting with the more desirable shift and in descending order to the less desirable shift according to the objective criteria; in response to the bumping indicator indicative of enabled bumping of the reservation, bumping reservations of a shift in accordance with a bumping matrix to make room in the shift for the reservation, the bumping matrix having indicators of automatic bumping and on request bumping for the reservations enabled for bumping; in response to the aggregation indicator having the first setting to enable aggregation of the reservation, aggregating reservations in accordance with an aggregation parameter set to group reservations together the aggregation parameter set defining information of reservations to be compared during aggregation, the aggregated reservations having a same value for the information defined by the aggregation parameter set, and in response to the aggregation indicator having the second setting to disable aggregation of the reservation, not aggregating reservations having the same value for the information defined by the aggregation parameter set; and periodically optimizing the shifts of the mobile service representative according to the order of desirability of the identified shifts, the objective criteria, the aggregation parameter set, and the bumping matrix.