Reservation Point System

Requirements

 

Description

The ReservationPointSystem assigns points to Dialogues based on their Modality.

  • ​An Agent has a total Capacity of 100 Points
  • An Agent will not be hunted for a Dialogue if handling this Dialogue would cause the Agent to exceed his Capacity.

 

Examples

Either one Chat or one Call

  • Assign 100 points to both the Chat and the Audio Modality

When the Agent handles a single Dialogue (either a Chat or a Call), he will be at maximum Capacity, so he is no longer available for additional Dialogues.

 

Either one call and a chat, or 5 chats

  • Assign 80 points to Audio
  • Assign 20 points to Chat

The Agent can now take a maximum of 5 chats. As soon as he has accepted more than one Chat, he will no longer be able for Audio.

Configuration

  1. ​​​Configure how many points every Dialogue Modality is in ReservationPointSystemRules-list

Note If you can't find your Dialogue Modality in the dropdown, add it to the Modalities-list

​​ Note The list ReservationPointSystemRules stores how many points a Session of a Specific Modality is.)

​​​

  1. Enable the ReservationPointSystem by visiting the Settings-list and setting ReservationSystem to PointSystem.
  • You can opt-out the ReservationPointSystem by setting the ReservationSystem to Legacy.

  • You can be sure the expected ReservationSystem is enabled by checking your log for:

    2018-09-21 14:09:55,005 [11] ucc INFO - Using ReservationSystemType "PointSystem"

 

  1. Setting the Settings.ReservationSystem to enable the POINTSYSTEM

 

​​Logging

​​H​ow to check which ReservationSystem is active?

2019-01-29 17:07:37,001 [9] ucc INFO - Using ReservationSystemType "PointSystem"​

This is logged whenever the ReservationSystem changes.

 

​How to check why the R​eservations are failing?

If you enable verbose, you will receive additional logging about the reservations, for example:

2019-01-29 17:09:29,845 [6] ucc VERBOSE - PointSystemReservationStrategy::AllowReservation, not allowing reservation { SipUri = sipThe Session Initiation Protocol (SIP) is a protocol to make multimedia communication (audio, video and other data communication) possible and it is also used for Voice over IP (VoIP). SIP has similarities with other Internet protocols such as HTTP and SMTP.:user@domain.com, Modality = Chat, CurrentPoints = 100, MaxPointsForAgent = 100, RequiredPointsForSession = 100 }

Here you see that this Agent currently has 100 points reserved (CurrentPoints), and an additional 100 points are needed for the session (RequiredPointsForSession), so the reservation fails

How to check how many Points are needed for a certain session?

2019-01-29 17:08:27,590 [11] ucc DEBUG - PointSystemReservationStrategy::AllowReservation, allowing reservation { SipUri = sip:user@domain.com, Modality = Chat, CurrentPoints = 0, MaxPointsForAgent = 100, RequiredPointsForSession = 100 }

Whenever a reservation is successful, the above will be logged under debug. In the above example you see that the Modality = Chat, and the RequiredPointsForSession = 100, so that's how many points are needed for a Chat at that point in time.​