How does PickBalancedOperator function randomly picks the Operator
We have an application in which we are assigning work to operators based on skills.
Ideally operators should be assigned with work based on skills, workload, availability and also time duration of operator availability.
But the operator is getting picked up randomly and not based on time duration of operator availability.
Operator A logs in at 9:00AM and makes himself available
Operator B Logs in at 9:30AM and makes himself available
Operator C logs in at 10:00AM and makes himself available.
after 10:00AM when all the 3 operators are available, if an assignments comes in, it gets assigned randomly to any one of them. But Ideally it should be assigned to Operator A as he as was available for a longer time.
It does not look like the pickBalancedOperator function is designed to take the time duration of availability into account. I checked the referencing rules and see the function is referenced by the ToLeveledGroup and ToSkilledGroup activities. Both of these rules are available so you may be able to write a custom function that meets your needs and call that instead.
Thank you for the confirmation. I think this could be treated as an enhancement for furture releases since the current scenario can result in one operator getting assgined with more work.
I tried customizing the PickBalancedOperator function but cant save it to "Routing" Library. Also if I customize the function, other functions are getting failed and the function is not able to recognize whether the operator is available or not.
Also I am not sure customizing this function would break the normal Skill/Workload based routing functionality.