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
    A ServiceLevelRatioCalculator is an interface that can be used 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.
    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 optional ToDoubleFunction only to override the calculation of an individual service level ratio for a Call.
      default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction​(Chat chat)
      This more specific method is called to obtain an optional ToDoubleFunction only to override the calculation of an individual service level ratio for a Chat.
      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 an Issue by returning an optional ToDoubleFunction that calculates the individual service level ratio for each Issue.
      default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction​(Ticket ticket)
      This more specific method is called to obtain an optional ToDoubleFunction only to override the calculation of an individual service level ratio for a Ticket.
      • Methods inherited from interface com.novomind.ecom.common.api.attribute.Described

        getDescription
      • Methods inherited from interface com.novomind.ecom.common.api.attribute.Named

        getName
    • 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 an Issue by returning an optional ToDoubleFunction that calculates the individual service level ratio for each Issue. The method will be called once per Issue 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 the Issue 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 the Issue 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 each Issue 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 a Ticket or a Call or a Chat, please implement one of the more specific methods.
        Parameters:
        issue - the Issue to return an optional calculator function for
        Returns:
        an optional ToDoubleFunction to calculate the service level ratio for an Issue or an empty optional if the default calculation should be used for this Issue
        Since:
        12.14
      • getFunction

        default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction​(Ticket ticket)
        This more specific method is called to obtain an optional ToDoubleFunction only to override the calculation of an individual service level ratio for a Ticket. The method will be called once per Ticket 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 each Ticket 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.
        Parameters:
        ticket - the Ticket to return an optional calculator function for
        Returns:
        an optional ToDoubleFunction to calculate the service level ratio for a Ticket or an empty optional if the default calculation should be used for this Ticket
        Since:
        12.14
      • getFunction

        default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction​(Chat chat)
        This more specific method is called to obtain an optional ToDoubleFunction only to override the calculation of an individual service level ratio for a Chat. The method will be called once per Chat 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 each Chat 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.
        Parameters:
        chat - the Chat to return an optional calculator function for
        Returns:
        an optional ToDoubleFunction to calculate the service level ratio for a Chat or an empty optional if the default calculation should be used for this Chat
        Since:
        12.14
      • getFunction

        default java.util.Optional<java.util.function.ToDoubleFunction<ServiceLevelRatioCalculatorInput>> getFunction​(Call call)
        This more specific method is called to obtain an optional ToDoubleFunction only to override the calculation of an individual service level ratio for a Call. The method will be called once per Call 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 each Call 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.
        Parameters:
        call - the Call to return an optional calculator function for
        Returns:
        an optional ToDoubleFunction to calculate the service level ratio for a Call or an empty optional if the default calculation should be used for this Call
        Since:
        12.14