Interface ServiceLevelRatioCalculator
-
- All Superinterfaces:
com.novomind.ecom.common.api.attribute.Described
,com.novomind.ecom.common.api.attribute.Named
public interface ServiceLevelRatioCalculator extends com.novomind.ecom.common.api.attribute.Named, com.novomind.ecom.common.api.attribute.Described
AServiceLevelRatioCalculator
is an interface that can be used to override the default algorithm that calculates the individual service level ratio for anIssue
. 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 theCategory
of theIssue
.- Since:
- 12.14
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>>
getFunction(Call call)
This more specific method is called to obtain an optionalToDoubleFunction
only to override the calculation of an individual service level ratio for aCall
.default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>>
getFunction(Chat chat)
This more specific method is called to obtain an optionalToDoubleFunction
only to override the calculation of an individual service level ratio for aChat
.default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>>
getFunction(Issue issue)
default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>>
getFunction(Ticket ticket)
This more specific method is called to obtain an optionalToDoubleFunction
only to override the calculation of an individual service level ratio for aTicket
.
-
-
-
Method Detail
-
getFunction
default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction(Issue issue)
The method allows to override the default algorithm to calculate the service level ratio for anIssue
by returning an optionalToDoubleFunction
that calculates the individual service level ratio for eachIssue
. The method will be called once perIssue
in the backlog and also on major configuration changes having impact on the calculation like change of category or tenant. A service level ratio less than 1.0 means that theIssue
still did not exceed the service level target defined by the category of the issue. A service level ratio of 1.0 and higher means that theIssue
has exceeded the service level target. PLEASE ENSURE NOT TO PERFORM ANY HIGH COST METHOD CALLS, HEAP ALLOCATIONS OR OTHER PERFORMANCE IMPACTING OPERATIONS IN THE IMPLEMENTATION OF THE RETURNED FUNCTION !! The optionally returned function will be called within a loop for eachIssue
in the backlog repeatedly in very short intervals. The implementation of the returned method therefore must be high performant and low heap memory consuming to avoid massive garbage collection. Please note that this method is the default method to be called for all issues. If you would like to provide a function only for aTicket
or aCall
or aChat
, please implement one of the more specific methods.
-
getFunction
default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction(Ticket ticket)
This more specific method is called to obtain an optionalToDoubleFunction
only to override the calculation of an individual service level ratio for aTicket
. The method will be called once perTicket
in the backlog and also on major configuration changes having impact on the calculation like change of category or tenant. PLEASE ENSURE NOT TO PERFORM ANY HIGH COST METHOD CALLS, HEAP ALLOCATIONS OR OTHER PERFORMANCE IMPACTING OPERATIONS IN THE IMPLEMENTATION OF THE RETURNED FUNCTION !! The optionally returned function will be called within a loop for eachTicket
in the backlog repeatedly in very short intervals. The implementation of the returned method therefore must be high performant and low heap memory consuming to avoid massive garbage collection.
-
getFunction
default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction(Chat chat)
This more specific method is called to obtain an optionalToDoubleFunction
only to override the calculation of an individual service level ratio for aChat
. The method will be called once perChat
in the backlog and also on major configuration changes having impact on the calculation like change of category or tenant. PLEASE ENSURE NOT TO PERFORM ANY HIGH COST METHOD CALLS, HEAP ALLOCATIONS OR OTHER PERFORMANCE IMPACTING OPERATIONS IN THE IMPLEMENTATION OF THE RETURNED FUNCTION !! The optionally returned function will be called within a loop for eachChat
in the backlog repeatedly in very short intervals. The implementation of the returned method therefore must be high performant and low heap memory consuming to avoid massive garbage collection.
-
getFunction
default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction(Call call)
This more specific method is called to obtain an optionalToDoubleFunction
only to override the calculation of an individual service level ratio for aCall
. The method will be called once perCall
in the backlog and also on major configuration changes having impact on the calculation like change of category or tenant. PLEASE ENSURE NOT TO PERFORM ANY HIGH COST METHOD CALLS, HEAP ALLOCATIONS OR OTHER PERFORMANCE IMPACTING OPERATIONS IN THE IMPLEMENTATION OF THE RETURNED FUNCTION !! The optionally returned function will be called within a loop for eachCall
in the backlog repeatedly in very short intervals. The implementation of the returned method therefore must be high performant and low heap memory consuming to avoid massive garbage collection.
-
-