We're using tech auto assign (balanced loading).
Load Balancing:
The number of requests that are In progress and assigned to a technician is taken as the load of the technician. So on selecting this model, technicians with the least load are assigned to requests.
e.g.:
tech 1 have 3 requests (6 long requests, with time duration - 2 weeks)
tech 2 have 5 requests (5 small requests)
when new request is registred it will be assign to tech 2.
after some time, tech 2 will resolve all his requests (because they're small in time), and system will also assign new requests to him (tech 2).
It'll be good, if system can notify or auto open onhold request by the time it should be resolved.
e.g.:
Request 1 is assign to tech 1 at 10.10.2013 10:23 but it must be resolved 08.12.2013 12:00, tech 1 change status to onhold and make an option: open this request 5.12.2013, when this day has come, request opens and tech 1 notified!
is it hard to create? m.b. you had an option to work it right away?