The extension point ServiceLevelRatioCalculator is a java interface that can be implemented to override the default algorithm that calculates the individual service level ratio for an issue. The individual service level ratio is used to determine the order of the issues in the backlog to be routed to an agent. Usually the ratio is the quotient of waiting time divided by the service level target of the category of the issue.
The default algorithm can be overridden by returning an optional ToDoubleFunction that implements the calculation of the service level ratio based on an ServiceLevelRatioCalculatorInput object passed to the returned function as input parameter.
The optionally returned function will be called within a loop for each issue in the backlog repeatedly in very short intervals. Therefore the implementation of the returned method therefore must be high performant and low heap memory consuming to avoid massive garbage collection.
Currently only one instance of ServiceLevelRatioCalculator can be active at the same time.