Package com.avaya.clientservices.agent

## Class AgentInformation

- java.lang.Object
- - com.avaya.clientservices.agent.AgentInformation

-     public class AgentInformation
      extends java.lang.Object

  Represents an agent information sent from contact center solution to the registered agent's application. Whenever agent state, work mode or configuration is changed new AgentInformation object is available through AgentServiceListener `AgentServiceListener.onAgentInformationUpdated(AgentService, AgentInformation)` object.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `AgentInformation()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getAgentAddress()` | Returns agent's logical extension as a URI, also known as agent loginId on Communication Server.
    `AgentReasonCodeLength` | `getAuxiliaryReasonCodeLength()` | Returns the information about reason code length that is required to change to auxiliary work mode i.e.
    `AgentReasonCodeMode` | `getAuxiliaryReasonInformation()` | the information about auxiliary work mode i.e.
    `AgentLogoutOverrideType` | `getLogoutOverrideType()` | Returns an agent logout override type (None | Timed Logout).
    `AgentReasonCodeMode` | `getLogoutReasonInformation()` | Gets the information about agent logout operation i.e.
    `AgentReasonCodeLength` | `getLogoutReasonLength()` | Returns the information about reason code length that is required for agent logout operation i.e.
    `int` | `getNumberOfDirectCallsQueued()` | Returns the number of direct agent calls waiting in queue.
    `java.util.Date` | `getOverrideTime()` | Returns agent logout override time.
    `AgentWorkMode` | `getPendingAgentWorkMode()` | Returns information about the pending work mode the agent will be in.
    `PendingLogoutReason` | `getPendingLogoutReasonInformation()` | Gets the information about agent pending logout.
    `int` | `getPendingReasonCode()` | Returns the pending reason code used by an agent to change to pending work mode.
    `int` | `getReasonCode()` | Returns the reason code used by an agent to change to current work mode.
    `java.util.List<AgentSkill>` | `getSkills()` | Returns agent's skill set information.
    `AgentWorkMode` | `getWorkMode()` | Returns information about the current work mode the agent is in.
    `boolean` | `isAgentLogoutPending()` | Indicating whether the agent logout is pending.
    `boolean` | `isAgentOverridingForcedLogout()` | Returns whether the agent is currently overriding the forced logout.
    `boolean` | `isAutoAnswer()` | Returns a boolean value indicating whether the agent is an auto-answer agent or not.
    `boolean` | `isInterruptibleAuxiliaryThresholdReached()` | Returns a boolean value indicating whether the configured threshold for interruptible auxiliary work mode has been reached for an agent in an interruptible auxiliary state.
    `boolean` | `isMessagesWaitingAtLogin()` | Returns true if there were voicemail messages waiting for the agent at login
    `boolean` | `isMessagesWaitingIndicatorForAgent()` | Returns true if message waiting status updates will indicate the status for the agent instead of the physical station for as long as the agent is logged in

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AgentInformation

          public AgentInformation()

  - ### Method Detail

    - #### getAgentAddress

          public java.lang.String getAgentAddress()

      Returns agent's logical extension as a URI, also known as agent loginId on Communication Server.
      Returns:
        agent's logical extension as a URI

    - #### getWorkMode

          public AgentWorkMode getWorkMode()

      Returns information about the current work mode the agent is in.
      Returns:
        information about the current work mode the agent is in.

    - #### getPendingAgentWorkMode

          public AgentWorkMode getPendingAgentWorkMode()

      Returns information about the pending work mode the agent will be in.
      Returns:
        information about the pending work mode the agent will be in.

    - #### getReasonCode

          public int getReasonCode()

      Returns the reason code used by an agent to change to current work mode.
      Returns:
        the reason code used by an agent to change to current work mode.

    - #### getPendingReasonCode

          public int getPendingReasonCode()

      Returns the pending reason code used by an agent to change to pending work mode.
      Returns:
        the pending reason code used by an agent to change to pending work mode.

    - #### getNumberOfDirectCallsQueued

          public int getNumberOfDirectCallsQueued()

      Returns the number of direct agent calls waiting in queue. Note: For older Avaya Aura systems i.e. version 6 and below, this property gets value of '0' if there are no direct agent calls waiting in the queue or gets value of '1' if there are one or more calls are waiting in the queue.
      Returns:
        the number of direct agent calls waiting in queue.

    - #### isInterruptibleAuxiliaryThresholdReached

          public boolean isInterruptibleAuxiliaryThresholdReached()

      Returns a boolean value indicating whether the configured threshold for interruptible auxiliary work mode has been reached for an agent in an interruptible auxiliary state. Note: Interruptible auxiliary work allows the signalling server to notify agents that are in the auxiliary work mode with an interruptible reason code that they should become available because one of the configured thresholds has reached or exceeded. For example: The thresholds could be "More than X calls are in a queue waiting for an agent". In this case signalling server activates interruptible aux threshold reached to true if the number of calls in a queue exceeds the threshold.
      Returns:
        a boolean value indicating whether the configured threshold for interruptible auxiliary work mode has been reached for an agent in an interruptible auxiliary state.

    - #### getSkills

          public java.util.List<AgentSkill> getSkills()

      Returns agent's skill set information.
      Returns:
        agent's skill set information.

    - #### getLogoutReasonInformation

          public AgentReasonCodeMode getLogoutReasonInformation()

      Gets the information about agent logout operation i.e. whether a reason code is required to complete logout operation or it is optional.
      Returns:
        the information about agent logout operation

    - #### getLogoutReasonLength

          public AgentReasonCodeLength getLogoutReasonLength()

      Returns the information about reason code length that is required for agent logout operation i.e. whether a single digit (range 0-9) or double digit (range 0-99) reason code required to complete logout operation.
      Returns:
        the information about reason code length

    - #### getAuxiliaryReasonInformation

          public AgentReasonCodeMode getAuxiliaryReasonInformation()

      the information about auxiliary work mode i.e. whether a reason code is required to change to auxiliary work mode or it is optional.
      Returns:
        the information about auxiliary work mode

    - #### getAuxiliaryReasonCodeLength

          public AgentReasonCodeLength getAuxiliaryReasonCodeLength()

      Returns the information about reason code length that is required to change to auxiliary work mode i.e. whether a single digit (range 0-9) or double digit (range 0-99) reason code required to change work mode.
      Returns:
        the information about reason code length

    - #### isMessagesWaitingIndicatorForAgent

          public boolean isMessagesWaitingIndicatorForAgent()

      Returns true if message waiting status updates will indicate the status for the agent instead of the physical station for as long as the agent is logged in
      Returns:
        true if message waiting status updates will indicate the status for the agent instead of the physical station for as long as the agent is logged in

    - #### isMessagesWaitingAtLogin

          public boolean isMessagesWaitingAtLogin()

      Returns true if there were voicemail messages waiting for the agent at login
      Returns:
        true if there were voicemail messages waiting for the agent at login

    - #### isAutoAnswer

          public boolean isAutoAnswer()

      Returns a boolean value indicating whether the agent is an auto-answer agent or not.
      Returns:
        a boolean value indicating whether the agent is an auto-answer agent or not.

    - #### getLogoutOverrideType

          public AgentLogoutOverrideType getLogoutOverrideType()

      Returns an agent logout override type (None | Timed Logout).
      Returns:
        an agent logout override type (None | Timed Logout).

    - #### isAgentOverridingForcedLogout

          public boolean isAgentOverridingForcedLogout()

      Returns whether the agent is currently overriding the forced logout.
      Returns:
        whether the agent is currently overriding the forced logout.

    - #### getOverrideTime

          public java.util.Date getOverrideTime()

      Returns agent logout override time. If an agent is configured to logout at certain time this is the time that an agent will logout. If the agent is still on an ACD call when the forced agent logout time is reached, the agent is put into the pending logout mode. The forced logout occurs when the call is disconnected. NOTE: The forced logout time the client gets from the server has the format HH:MM in the server time. The time stored here is the time of the next forced logout assuming the client is in the same timezone as the server.
      Returns:
        agent logout override time.

    - #### isAgentLogoutPending

          public boolean isAgentLogoutPending()

      Indicating whether the agent logout is pending.
      Returns:
        whether the agent logout is pending.

    - #### getPendingLogoutReasonInformation

          public PendingLogoutReason getPendingLogoutReasonInformation()

      Gets the information about agent pending logout.
      Returns:
        the information about agent pending logout.