com.genesyslab.wfm7.API.service.schedule720

## Interface WFMScheduleService720Soap

- All Superinterfaces:
    java.rmi.Remote

      public interface WFMScheduleService720Soap
      extends java.rmi.Remote

  WFM Schedule Service is part of WFM Server that handles schedule data. In essence Schedule Service defines an API for retrieval, querying and manipulations of schedule data.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `acknowledgeNotification(int siteID, long timestamp)` Acknowledges to the server that notification was received and processed.
    `void` | `addActivityToScenario(int scheduleID, int siteID, int[] activityIDArray)`
    `void` | `addAgentToScenario(int scheduleID, int siteID, SchScenarioAgent[] agentArray)`
    `void` | `assignProfileAgents(int scheduleID, int siteID, SchAssignment[] assignments)`
    `SchAgentDayHolder` | `buildAgentDay(int scheduleID, int siteID, SchAgentDay[] newSchedule, int stateLayout, int[] excludeStates, boolean provideStateInfo, boolean provideActivitySetInfo, boolean provideOvertime, boolean provideTradeEligibility)` Builds complete schedule shifts with optimal breal/meal distibution for given schedule shifts
    `SchAgentDayHolder` | `buildAgentDayInSnapshot(java.lang.String schSnapshotID, SchAgentDay[] newSchedule, SchAgentDay[] modifiedSchedule, int stateLayout, int[] excludeStates, boolean provideStateInfo, boolean provideActivitySetInfo, boolean provideOvertime, boolean provideTradeEligibility)` Builds complete schedule shifts with optimal breal/meal distibution for given schedule shifts and based on existing schedule snapshot
    `void` | `clearProfileAgentAssignments(int scheduleID, int siteID)`
    `java.lang.String` | `commitPendingAgentDay(int scheduleID, int siteID, double[] days, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, SchStateID[] stateIDFilter)`
    `java.lang.String` | `commitPendingAgentDayFromSnapshot(java.lang.String schSnapshotID, int[] indexArray)`
    `int` | `createScenario(java.lang.String name, double startDate, double endDate, SchScenarioSite[] sites, int type, java.lang.String comments)`
    `java.lang.String` | `deleteAgentDay(int scheduleID, int siteID, int[] teamIDArray, int[] agentIDArray, double startDate, double endDate)`
    `void` | `deleteAgentFromScenario(int scheduleID, int siteID, int[] agentIDArray)`
    `void` | `deleteScenario(int scheduleID)`
    `java.lang.String` | `deleteState(int scheduleID, int siteID, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, SchStateID[] stateIDFilter, SchState[] states, boolean ignoreWarnings, boolean allOrNothing, boolean autoCommit)` Deletes specified scheduled state(s) from agent(s) schedules.
    `SchAgentDayHolder` | `fetchAgentDayFromSnapshot(java.lang.String schSnapshotID, int firstAgentIndex, int lastAgentIndex, double firstDate, double lastDate, int stateLayout, int[] excludeStates, boolean provideStateInfo, boolean provideActivitySetInfo, boolean provideAgentInfo, boolean provideOvertime, boolean provideTradeEligibility, boolean provideTeamInfo, boolean provideContractInfo, boolean provideAvailabilityInfo, boolean autoRefresh)`
    `CfgAgentHolder` | `fetchAgentFromSnapshot(java.lang.String schSnapshotID, int firstIndex, int lastIndex, int infoType, boolean provideActivities, boolean provideTeamInfo, boolean provideContractInfo)`
    `SchAgentDayHolder` | `fetchPendingAgentDayFromSnapshot(java.lang.String schSnapshotID, int firstIndex, int lastIndex, int stateLayout, int[] excludeStates, boolean provideStateInfo, boolean provideAgentInfo, boolean provideOvertime, boolean provideTeamInfo, boolean provideContractInfo, boolean provideAvailabilityInfo)`
    `SchScenarioHolder` | `fetchScenarioFromSnapshot(java.lang.String snapshotID, int firstIndex, int lastIndex, int infoType)`
    `int` | `findAgentInSnapshot(java.lang.String schSnapshotID, int field, java.lang.String value, int startIndex)`
    `int` | `findScenarioInSnapshot(java.lang.String snapshotID, java.lang.String name, int startIndex)`
    `SchAgentDayHolder` | `getAgentDay(int source, int scheduleID, int siteID, double startDate, double endDate, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, SchStateID[] stateIDFilter, int[] excludeStates, int groupMode, int sortMode, boolean ascending, double sortDate, int stateLayout, boolean provideStateInfo, boolean provideActivitySetInfo, boolean provideAgentInfo, boolean provideOvertime, boolean provideTradeEligibility, SchTotalsRequest[] totalsRequest, boolean provideTeamInfo, boolean provideContractInfo, boolean provideAvailabilityInfo)` Loads agent days from specified schedule for specified range of dates and specified set of agents.
    `SchSnapshot` | `getAgentDaySnapshotResult(java.lang.String requestID)`
    `SchAgentStateHolder` | `getAgentState(int source, int scheduleID, int siteID, double startDateTime, double endDateTime, int[] teamIDArray, int[] agentIDArray, int[] stateTypeFilter, SchStateID[] stateIDFilter, int[] stateGroupFilter, int stateLayout, boolean provideStateInfo)` Loads agent scheduled states of specified type from specified time window.
    `SchAgentTotals[]` | `getAgentTotals(int source, int scheduleID, int siteID, int[] teamIDArray, int[] agentIDArray, SchTotalsRequest[] totalsRequest)` Calculates different totals (like paid time, work time, and vacation time) for given agent for specified date period(s) and granularity.
    `java.lang.String` | `getAuditLogAsync(int siteID, int[] teamIDArray, int[] agentIDArray, double schStartDate, double schEndDate, double actionStartDateTime, double actionEndDateTime, int[] actionTypes, int[] actionUsers, int detailsLevel, int stateLayout, int[] excludeStates)` Reads schedule audit log in async mode.
    `SchAuditLog` | `getAuditLogByID(long auditID, int siteID, int[] teamIDArray, int[] agentIDArray, double schStartDate, double schEndDate, int detailsLevel, int stateLayout, int[] excludeStates, boolean provideStateInfo, boolean provideAgentInfo, boolean provideTeamInfo, boolean provideContractInfo, boolean provideScenarioInfo, boolean provideUserInfo)` Returns information about specific schedule audit transaction.
    `SchAuditLog` | `getAuditLogResults(java.lang.String requestID, int stateLayout, boolean provideStateInfo, boolean provideAgentInfo, boolean provideTeamInfo, boolean provideContractInfo, boolean provideScenarioInfo, boolean provideUserInfo)`
    `SchActivitySet[]` | `getDayActivitySetInfo(int siteID, double date, int[] activityIDArray)`
    `CfgAgentHolder` | `getMasterAgent(int siteID, double startDate, double endDate, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, int sortMode, boolean ascending, int infoType, boolean provideActivities, boolean provideTeamInfo, boolean provideContractInfo)`
    `SchPlanningPeriod[]` | `getPlanningPeriod(int scheduleID, int siteID, double startDate, double endDate)`
    `SchCandidateHolder` | `getProfileAgentCandidates(int scheduleID, int siteID, int[] profileAgentIDArray, boolean provideAgentInfo)`
    `SchValidationHolder` | `getRequestValidation(java.lang.String requestID)` Used to retrieve validation (error/warning) messages after completion of such asynchronous operations as insertState, deleteState, saveAgentDayAsync.
    `SchScenarioHolder` | `getScenario(int scheduleID, int infoType)`
    `CfgActivityHolder` | `getScenarioActivity(int scheduleID, int siteID, int[] activityIDArray, int sortMode, boolean ascending, int infoType, boolean provideActivitySetInfo, boolean provideVirtualActivityInfo)`
    `CfgAgentHolder` | `getScenarioAgent(int scheduleID, int siteID, int[] agentTypeFilter, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, int sortMode, boolean ascending, int infoType, boolean provideActivities, boolean provideTeamInfo, boolean provideContractInfo)`
    `SchAgentQuota[]` | `getScenarioAgentQuota(int scheduleID, int siteID, int[] agentIDArray)`
    `SchScenarioParams` | `getScenarioParams(int scheduleID, int siteID)`
    `CfgSiteHolder` | `getScenarioSite(int scheduleID, int[] siteIDArray, int sortMode, boolean ascending, int infoType, boolean provideBUInfo)`
    `CfgTeamHolder` | `getScenarioTeam(int scheduleID, int siteID, int[] teamIDArray, int sortMode, boolean ascending, int infoType, boolean provideAgentInfo)`
    `CfgVirtualActivityHolder` | `getScenarioVirtualActivity(int scheduleID, int[] virtualActivityIDArray, int infoType, int sortMode, boolean ascending, boolean provideActivityInfo, boolean provideBUInfo)`
    `SchScenarioWarning[]` | `getScenarioWarnings(int scheduleID, int siteID)`
    `CfgAgentHolder` | `getScheduledAgents(int scheduleID, int siteID, double startDate, double endDate, int[] flagFilter, int sortMode, boolean ascending, int infoType, boolean provideActivities, boolean provideTeamInfo, boolean provideContractInfo)`
    `SchCandidateHolder` | `getSwapCandidates(int scheduleID, int siteID, double[] days, int[] teamIDArray, int[] agentIDArray, boolean provideAgentInfo)`
    `java.lang.String` | `insertState(int scheduleID, int siteID, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, SchStateID[] stateIDFilter, SchState[] states, boolean ignoreWarnings, boolean allOrNothing, boolean autoCommit)` Used to insert new scheduled state to agents' schedules.
    `SchSnapshot` | `openAgentDaySnapshot(int source, int scheduleID, int siteID, double startDate, double endDate, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, SchStateID[] stateIDFilter, int groupMode, int sortMode, boolean ascending, double sortDate, SchTotalsRequest[] totalsRequest)`
    `java.lang.String` | `openAgentDaySnapshotAsync(int source, int scheduleID, int siteID, double startDate, double endDate, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, SchStateID[] stateIDFilter, int groupMode, int sortMode, boolean ascending, double sortDate, SchTotalsRequest[] totalsRequest)`
    `CfgSnapshot` | `openMasterAgentSnapshot(int siteID, double startDate, double endDate, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, int sortMode, boolean ascending)`
    `SchSnapshot` | `openPendingAgentDaySnapshot(int scheduleID, int siteID, double startDate, double endDate, int[] userIDAray, int[] teamIDArray, int[] agentIDArray, int groupMode, int sortMode, boolean ascending)`
    `CfgSnapshot` | `openScenarioAgentSnapshot(int scheduleID, int siteID, int[] agentTypeFilter, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, int sortMode, boolean ascending)`
    `SchScenarioSnapshot` | `openScenarioSnapshot(int ownership, int[] typeFilter, int[] statusFilter, int[] siteIDFilter, double startDate, double endDate, int sortMode, boolean ascending)`
    `CfgSnapshot` | `openScheduledAgentSnapshot(int scheduleID, int siteID, double startDate, double endDate, int[] flagFilter, int sortMode, boolean ascending)`
    `SchNotification` | `pollNotification(long timestamp, int siteID, int[] teamIDArray, int[] agentIDArray, double schStartDate, double schEndDate, int detailsLevel, int stateLayout, int[] excludeStates, boolean provideStateInfo, boolean provideAgentInfo, boolean provideTeamInfo, boolean provideContractInfo)` Polls schedule change notification
    `java.lang.String` | `publishSchedule(SchSiteAgents[] siteAgents, int sourceScheduleID, double sourceStartDate, double sourceEndDate, int targetScheduleID, double targetStartDate, double targetEndDate)`
    `long` | `readAgentDayDBTimestamp(int scheduleID, int siteID, int[] agentIDArray, double startDate, double endDate)`
    `long` | `readScenarioDBTimestamp(int scheduleID)`
    `void` | `renameScenario(int scheduleID, java.lang.String name)`
    `long` | `rollbackAuditTransaction(long auditID, int siteID, int[] teamIDArray, int[] agentIDArray, double schStartDate, double schEndDate)` Rolls back current schedule to specific Schedule Audit Transaction from the past.
    `java.lang.String` | `rollbackPendingAgentDay(int scheduleID, int siteID, double[] days, int[] teamIDArray, int[] agentIDArray, int[] contractIDFilter, SchStateID[] stateIDFilter)`
    `java.lang.String` | `rollbackPendingAgentDayFromSnapshot(java.lang.String schSnapshotID, int[] indexArray)`
    `SchValidationHolder` | `saveAgentDay(int scheduleID, int siteID, SchAgentDay[] agentDayArray, boolean ignoreWarnings, boolean checkTimestamp, boolean autoCommit)` Saves agent day schedule to database.
    `java.lang.String` | `saveAgentDayAsync(int scheduleID, int siteID, SchAgentDay[] agentDayArray, boolean ignoreWarnings, boolean checkTimestamp, boolean autoCommit)` Saves agent day schedule to database asynchronously.
    `void` | `saveScenarioComments(int scheduleID, java.lang.String comments)`
    `void` | `saveScenarioWarnings(int scheduleID, int siteID, SchScenarioWarning[] warnings)`
    `void` | `setScenarioAgentQuota(int scheduleID, int siteID, SchAgentQuota[] agentQuota)`
    `void` | `setScenarioParams(int scheduleID, int siteID, SchScenarioParams param)`
    `void` | `setScenarioType(int scheduleID, int scenarioType)`
    `void` | `sortAgentDaySnapshot(java.lang.String schSnapshotID, int groupMode, int sortMode, boolean ascending, double sortDate)`
    `void` | `sortScenarioSnapshot(java.lang.String snapshotID, int sortMode, boolean ascending)`
    `SchValidationHolder` | `swapSchedules(int scheduleID, int siteID, double[] days, int agentID1, int agentID2, boolean ignoreWarnings, boolean checkTimestamp, boolean autoCommit)`
    `SchValidationHolder` | `validateAgentDay(int scheduleID, int siteID, SchAgentDay[] agentDayArray)`
    `SchValidationHolder` | `validatePendingAgentDayFromSnapshot(java.lang.String schSnapshotID, int[] indexArray)`
    `boolean` | `wasAgentDaySnapshotModified(java.lang.String schSnapshotID, int firstAgentIndex, int lastAgentIndex, double firstDate, double lastDate)`

- - ### Method Detail

    - #### getAgentState

          SchAgentStateHolder getAgentState(int source,
                                          int scheduleID,
                                          int siteID,
                                          double startDateTime,
                                          double endDateTime,
                                          int[] teamIDArray,
                                          int[] agentIDArray,
                                          int[] stateTypeFilter,
                                          SchStateID[] stateIDFilter,
                                          int[] stateGroupFilter,
                                          int stateLayout,
                                          boolean provideStateInfo)
                                            throws java.rmi.RemoteException

      Loads agent scheduled states of specified type from specified time window. This function has at least two applications. One is to see all scheduled states on which agent is scheduled in specified time window. The second is to see what agents have specific state(s) scheduled in specified time window.
      Parameters:
        `source` - Specifies schedule source `ESchSource`
        `scheduleID` - Schedule (Scenario) identifier. It's zero for Master Schedule
        `siteID` - Site ID
        `startDateTime` - Time window start date/time `OleDateTime`
        `endDateTime` - Time window end date/time `OleDateTime`
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `stateTypeFilter` - `ESchStateType` filter. Can be "null" meaning "all state type"
        `stateIDFilter` - `SchStateID` filter. Can be "null" meaning "any state"
        `stateGroupFilter` - State Group ID filter. Can be "null" meaning "any state group"
        `stateLayout` - State layout `ESchStateLayout`
        `provideStateInfo` - Provide schedule state descriptive information or not
      Returns:
        `SchAgentStateHolder`
      Throws:
        `java.rmi.RemoteException`

    - #### getAgentDay

          SchAgentDayHolder getAgentDay(int source,
                                      int scheduleID,
                                      int siteID,
                                      double startDate,
                                      double endDate,
                                      int[] teamIDArray,
                                      int[] agentIDArray,
                                      int[] contractIDFilter,
                                      SchStateID[] stateIDFilter,
                                      int[] excludeStates,
                                      int groupMode,
                                      int sortMode,
                                      boolean ascending,
                                      double sortDate,
                                      int stateLayout,
                                      boolean provideStateInfo,
                                      boolean provideActivitySetInfo,
                                      boolean provideAgentInfo,
                                      boolean provideOvertime,
                                      boolean provideTradeEligibility,
                                      SchTotalsRequest[] totalsRequest,
                                      boolean provideTeamInfo,
                                      boolean provideContractInfo,
                                      boolean provideAvailabilityInfo)
                                        throws java.rmi.RemoteException

      Loads agent days from specified schedule for specified range of dates and specified set of agents. Returned agent days are sorted and grouped together in specified order.
      Parameters:
        `source` - Specifies schedule source `ESchSource`
        `scheduleID` - Schedule (Scenario) identifier. It's zero for Master Schedule
        `siteID` - Site ID
        `startDate` - Period start date `OleDateTime`
        `endDate` - Period end date `OleDateTime`
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `contractIDFilter` - Contract ID array. Defines filter for agent contracts. Not used if "null".
        `stateIDFilter` - `SchStateID` array. Specifies to include only those agent days that contain specified schedule states.
        `excludeStates` - Specifies what state types (`ESchStateType`) exclude from returned Agent Day. Can be "null" meaning "don't exclude any state type"
        `groupMode` - `ESchGroupMode` Specifies of how returned agent days should be grouped together.
        `sortMode` - `ESchSortMode` Specifies how returned schedule days must be sorted.
        `ascending` - Sort order "true" - ascending , "false" - descending
        `sortDate` - Some sort modes require specified date for sorting. `OleDateTime`
        `stateLayout` - `ESchStateLayout` Specifies whether scheduled states should be overlapped or sequential. If SCH_LAYOUT_DAY is specified the returned agent days are in "short" format - `SchAgentDayShort`.
        `provideStateInfo` - Specifies to provide schedule state descriptive info or not
        `provideActivitySetInfo` - Tells whether to fill-in schActivitySetInfo field in SchAgentDay
        `provideAgentInfo` - Tells whether to provide short agent information about every unique agent in response.
        `provideOvertime` - Tells whether to calculate "wmOvertimeMinutes" field in Schedule Day returned
        `provideTradeEligibility` - Tells whether to check "eligibleForTrade" field in Schedule Day returned
        `totalsRequest` - An array of `SchTotalsRequest`. Contains a request to provide selected work totals for one or several different date periods. A "null" value means request no totals.
        `provideTeamInfo` - Tells whether to provide short team information about every unique team in response.
        `provideContractInfo` - Tells whether to provide short Contract information about every unique contract in response.
        `provideAvailabilityInfo` - Tells whether to provide Contract Availability with response
      Returns:
        `SchAgentDayHolder`
      Throws:
        `java.rmi.RemoteException`

    - #### openAgentDaySnapshot

          SchSnapshot openAgentDaySnapshot(int source,
                                         int scheduleID,
                                         int siteID,
                                         double startDate,
                                         double endDate,
                                         int[] teamIDArray,
                                         int[] agentIDArray,
                                         int[] contractIDFilter,
                                         SchStateID[] stateIDFilter,
                                         int groupMode,
                                         int sortMode,
                                         boolean ascending,
                                         double sortDate,
                                         SchTotalsRequest[] totalsRequest)
                                           throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### openAgentDaySnapshotAsync

          java.lang.String openAgentDaySnapshotAsync(int source,
                                                   int scheduleID,
                                                   int siteID,
                                                   double startDate,
                                                   double endDate,
                                                   int[] teamIDArray,
                                                   int[] agentIDArray,
                                                   int[] contractIDFilter,
                                                   SchStateID[] stateIDFilter,
                                                   int groupMode,
                                                   int sortMode,
                                                   boolean ascending,
                                                   double sortDate,
                                                   SchTotalsRequest[] totalsRequest)
                                                     throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getAgentDaySnapshotResult

          SchSnapshot getAgentDaySnapshotResult(java.lang.String requestID)
                                                throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### sortAgentDaySnapshot

          void sortAgentDaySnapshot(java.lang.String schSnapshotID,
                                  int groupMode,
                                  int sortMode,
                                  boolean ascending,
                                  double sortDate)
                                    throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### fetchAgentDayFromSnapshot

          SchAgentDayHolder fetchAgentDayFromSnapshot(java.lang.String schSnapshotID,
                                                    int firstAgentIndex,
                                                    int lastAgentIndex,
                                                    double firstDate,
                                                    double lastDate,
                                                    int stateLayout,
                                                    int[] excludeStates,
                                                    boolean provideStateInfo,
                                                    boolean provideActivitySetInfo,
                                                    boolean provideAgentInfo,
                                                    boolean provideOvertime,
                                                    boolean provideTradeEligibility,
                                                    boolean provideTeamInfo,
                                                    boolean provideContractInfo,
                                                    boolean provideAvailabilityInfo,
                                                    boolean autoRefresh)
                                                      throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### fetchAgentFromSnapshot

          CfgAgentHolder fetchAgentFromSnapshot(java.lang.String schSnapshotID,
                                              int firstIndex,
                                              int lastIndex,
                                              int infoType,
                                              boolean provideActivities,
                                              boolean provideTeamInfo,
                                              boolean provideContractInfo)
                                                throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### wasAgentDaySnapshotModified

          boolean wasAgentDaySnapshotModified(java.lang.String schSnapshotID,
                                            int firstAgentIndex,
                                            int lastAgentIndex,
                                            double firstDate,
                                            double lastDate)
                                              throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getDayActivitySetInfo

          SchActivitySet[] getDayActivitySetInfo(int siteID,
                                               double date,
                                               int[] activityIDArray)
                                                 throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getAgentTotals

          SchAgentTotals[] getAgentTotals(int source,
                                        int scheduleID,
                                        int siteID,
                                        int[] teamIDArray,
                                        int[] agentIDArray,
                                        SchTotalsRequest[] totalsRequest)
                                          throws java.rmi.RemoteException

      Calculates different totals (like paid time, work time, and vacation time) for given agent for specified date period(s) and granularity. For instance, this function can be used to calculate week totals, monthly totals or schedule planning period totals.
      Parameters:
        `source` - `ESchSource` Specifies schedule source
        `scheduleID` - Schedule (Scenario) identifier. It's zero for Master Schedule
        `siteID` - Site ID
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `totalsRequest` - An array of `SchTotalsRequest`. Contains a request to provide selected work totals for one or several periods. A "null" value means request no totals.
      Returns:
        `SchAgentTotals`[]
      Throws:
        `java.rmi.RemoteException`

    - #### readAgentDayDBTimestamp

          long readAgentDayDBTimestamp(int scheduleID,
                                     int siteID,
                                     int[] agentIDArray,
                                     double startDate,
                                     double endDate)
                                       throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### validateAgentDay

          SchValidationHolder validateAgentDay(int scheduleID,
                                             int siteID,
                                             SchAgentDay[] agentDayArray)
                                               throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### saveAgentDay

          SchValidationHolder saveAgentDay(int scheduleID,
                                         int siteID,
                                         SchAgentDay[] agentDayArray,
                                         boolean ignoreWarnings,
                                         boolean checkTimestamp,
                                         boolean autoCommit)
                                           throws java.rmi.RemoteException

      Saves agent day schedule to database.
      Parameters:
        `scheduleID` - Schedule (Scenario) identifier. It's zero for Master Schedule
        `siteID` - Site ID
        `agentDayArray` - An array of agent days schedules `SchAgentDay` to save
        `ignoreWarnings` - if "true" agent day is saved to db even if there were warnings
        `checkTimestamp` - If true every agent day schedule timestamp from agentDayArray is checked against one in database and if database timestamp is newer a warning is generated.
        `autoCommit` - Specifies whether auto-commit changes being made of make them "pending".
      Returns:
        `SchValidationHolder`
      Throws:
        `java.rmi.RemoteException`

    - #### saveAgentDayAsync

          java.lang.String saveAgentDayAsync(int scheduleID,
                                           int siteID,
                                           SchAgentDay[] agentDayArray,
                                           boolean ignoreWarnings,
                                           boolean checkTimestamp,
                                           boolean autoCommit)
                                             throws java.rmi.RemoteException

      Saves agent day schedule to database asynchronously. This operation is asynchronous and so an ID of asynchronous request is returned. Use Session service to check progress of asynchronous request. Use function GetRequestValidation to retrieve results.
      Parameters:
        `scheduleID` - Schedule (Scenario) identifier. It's zero for Master Schedule
        `siteID` - Site ID
        `agentDayArray` - An array of agent days schedules `SchAgentDay` to save
        `ignoreWarnings` - if "true" agent day is saved to db even if there were warnings
        `checkTimestamp` - If true every agent day schedule timestamp from agentDayArray is checked against one in database and if database timestamp is newer a warning is generated.
        `autoCommit` - Specifies whether auto-commit changes being made of make them "pending".
      Returns:
        Asynchronous request ID
      Throws:
        `java.rmi.RemoteException`

    - #### deleteAgentDay

          java.lang.String deleteAgentDay(int scheduleID,
                                        int siteID,
                                        int[] teamIDArray,
                                        int[] agentIDArray,
                                        double startDate,
                                        double endDate)
                                          throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### swapSchedules

          SchValidationHolder swapSchedules(int scheduleID,
                                          int siteID,
                                          double[] days,
                                          int agentID1,
                                          int agentID2,
                                          boolean ignoreWarnings,
                                          boolean checkTimestamp,
                                          boolean autoCommit)
                                            throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getSwapCandidates

          SchCandidateHolder getSwapCandidates(int scheduleID,
                                             int siteID,
                                             double[] days,
                                             int[] teamIDArray,
                                             int[] agentIDArray,
                                             boolean provideAgentInfo)
                                               throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### createScenario

          int createScenario(java.lang.String name,
                           double startDate,
                           double endDate,
                           SchScenarioSite[] sites,
                           int type,
                           java.lang.String comments)
                             throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### deleteScenario

          void deleteScenario(int scheduleID)
                              throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### setScenarioParams

          void setScenarioParams(int scheduleID,
                               int siteID,
                               SchScenarioParams param)
                                 throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenarioParams

          SchScenarioParams getScenarioParams(int scheduleID,
                                            int siteID)
                                              throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenario

          SchScenarioHolder getScenario(int scheduleID,
                                      int infoType)
                                        throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### openScenarioSnapshot

          SchScenarioSnapshot openScenarioSnapshot(int ownership,
                                                 int[] typeFilter,
                                                 int[] statusFilter,
                                                 int[] siteIDFilter,
                                                 double startDate,
                                                 double endDate,
                                                 int sortMode,
                                                 boolean ascending)
                                                   throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### sortScenarioSnapshot

          void sortScenarioSnapshot(java.lang.String snapshotID,
                                  int sortMode,
                                  boolean ascending)
                                    throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### findScenarioInSnapshot

          int findScenarioInSnapshot(java.lang.String snapshotID,
                                   java.lang.String name,
                                   int startIndex)
                                     throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### fetchScenarioFromSnapshot

          SchScenarioHolder fetchScenarioFromSnapshot(java.lang.String snapshotID,
                                                    int firstIndex,
                                                    int lastIndex,
                                                    int infoType)
                                                      throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenarioSite

          CfgSiteHolder getScenarioSite(int scheduleID,
                                      int[] siteIDArray,
                                      int sortMode,
                                      boolean ascending,
                                      int infoType,
                                      boolean provideBUInfo)
                                        throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenarioVirtualActivity

          CfgVirtualActivityHolder getScenarioVirtualActivity(int scheduleID,
                                                            int[] virtualActivityIDArray,
                                                            int infoType,
                                                            int sortMode,
                                                            boolean ascending,
                                                            boolean provideActivityInfo,
                                                            boolean provideBUInfo)
                                                              throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenarioActivity

          CfgActivityHolder getScenarioActivity(int scheduleID,
                                              int siteID,
                                              int[] activityIDArray,
                                              int sortMode,
                                              boolean ascending,
                                              int infoType,
                                              boolean provideActivitySetInfo,
                                              boolean provideVirtualActivityInfo)
                                                throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenarioTeam

          CfgTeamHolder getScenarioTeam(int scheduleID,
                                      int siteID,
                                      int[] teamIDArray,
                                      int sortMode,
                                      boolean ascending,
                                      int infoType,
                                      boolean provideAgentInfo)
                                        throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScheduledAgents

          CfgAgentHolder getScheduledAgents(int scheduleID,
                                          int siteID,
                                          double startDate,
                                          double endDate,
                                          int[] flagFilter,
                                          int sortMode,
                                          boolean ascending,
                                          int infoType,
                                          boolean provideActivities,
                                          boolean provideTeamInfo,
                                          boolean provideContractInfo)
                                            throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### openScheduledAgentSnapshot

          CfgSnapshot openScheduledAgentSnapshot(int scheduleID,
                                               int siteID,
                                               double startDate,
                                               double endDate,
                                               int[] flagFilter,
                                               int sortMode,
                                               boolean ascending)
                                                 throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getMasterAgent

          CfgAgentHolder getMasterAgent(int siteID,
                                      double startDate,
                                      double endDate,
                                      int[] teamIDArray,
                                      int[] agentIDArray,
                                      int[] contractIDFilter,
                                      int sortMode,
                                      boolean ascending,
                                      int infoType,
                                      boolean provideActivities,
                                      boolean provideTeamInfo,
                                      boolean provideContractInfo)
                                        throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### openMasterAgentSnapshot

          CfgSnapshot openMasterAgentSnapshot(int siteID,
                                            double startDate,
                                            double endDate,
                                            int[] teamIDArray,
                                            int[] agentIDArray,
                                            int[] contractIDFilter,
                                            int sortMode,
                                            boolean ascending)
                                              throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenarioAgent

          CfgAgentHolder getScenarioAgent(int scheduleID,
                                        int siteID,
                                        int[] agentTypeFilter,
                                        int[] teamIDArray,
                                        int[] agentIDArray,
                                        int[] contractIDFilter,
                                        int sortMode,
                                        boolean ascending,
                                        int infoType,
                                        boolean provideActivities,
                                        boolean provideTeamInfo,
                                        boolean provideContractInfo)
                                          throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### openScenarioAgentSnapshot

          CfgSnapshot openScenarioAgentSnapshot(int scheduleID,
                                              int siteID,
                                              int[] agentTypeFilter,
                                              int[] teamIDArray,
                                              int[] agentIDArray,
                                              int[] contractIDFilter,
                                              int sortMode,
                                              boolean ascending)
                                                throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### assignProfileAgents

          void assignProfileAgents(int scheduleID,
                                 int siteID,
                                 SchAssignment[] assignments)
                                   throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### setScenarioAgentQuota

          void setScenarioAgentQuota(int scheduleID,
                                   int siteID,
                                   SchAgentQuota[] agentQuota)
                                     throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenarioAgentQuota

          SchAgentQuota[] getScenarioAgentQuota(int scheduleID,
                                              int siteID,
                                              int[] agentIDArray)
                                                throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### clearProfileAgentAssignments

          void clearProfileAgentAssignments(int scheduleID,
                                          int siteID)
                                            throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getProfileAgentCandidates

          SchCandidateHolder getProfileAgentCandidates(int scheduleID,
                                                     int siteID,
                                                     int[] profileAgentIDArray,
                                                     boolean provideAgentInfo)
                                                       throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getScenarioWarnings

          SchScenarioWarning[] getScenarioWarnings(int scheduleID,
                                                 int siteID)
                                                   throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### saveScenarioWarnings

          void saveScenarioWarnings(int scheduleID,
                                  int siteID,
                                  SchScenarioWarning[] warnings)
                                    throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### saveScenarioComments

          void saveScenarioComments(int scheduleID,
                                  java.lang.String comments)
                                    throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### renameScenario

          void renameScenario(int scheduleID,
                            java.lang.String name)
                              throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### deleteAgentFromScenario

          void deleteAgentFromScenario(int scheduleID,
                                     int siteID,
                                     int[] agentIDArray)
                                       throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### addAgentToScenario

          void addAgentToScenario(int scheduleID,
                                int siteID,
                                SchScenarioAgent[] agentArray)
                                  throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### addActivityToScenario

          void addActivityToScenario(int scheduleID,
                                   int siteID,
                                   int[] activityIDArray)
                                     throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### setScenarioType

          void setScenarioType(int scheduleID,
                             int scenarioType)
                               throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### readScenarioDBTimestamp

          long readScenarioDBTimestamp(int scheduleID)
                                       throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### publishSchedule

          java.lang.String publishSchedule(SchSiteAgents[] siteAgents,
                                         int sourceScheduleID,
                                         double sourceStartDate,
                                         double sourceEndDate,
                                         int targetScheduleID,
                                         double targetStartDate,
                                         double targetEndDate)
                                           throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### insertState

          java.lang.String insertState(int scheduleID,
                                     int siteID,
                                     int[] teamIDArray,
                                     int[] agentIDArray,
                                     int[] contractIDFilter,
                                     SchStateID[] stateIDFilter,
                                     SchState[] states,
                                     boolean ignoreWarnings,
                                     boolean allOrNothing,
                                     boolean autoCommit)
                                       throws java.rmi.RemoteException

      Used to insert new scheduled state to agents' schedules. In case when state type is full day state, state start time and end time are ignored except when state if full-day exception. If state is full-day exception, difference in minutes between end time and start time represents paid duration for the full-day exception. If difference is zero then standard working hours will be used.This operation is asynchronous and so an ID of asynchronous request is returned. Use Session service to check progress of asynchronous request. Use function GetRequestValidation to retrieve results.
      Parameters:
        `scheduleID` - Schedule (Scenario) identifier. It's zero for Master Schedule
        `siteID` - Site ID
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `contractIDFilter` - Contract ID array. Defines filter for agent contracts. Not used if "null".
        `stateIDFilter` - `SchStateID` array. Specifies to include only those agent days that contain specified schedule states.
        `states` - An array of `SchState` to insert
        `ignoreWarnings` - If "true" tells to proceed with insert even if there were warnings.
        `allOrNothing` - If "true" tells that all schedule states should be successfully inserted for all specified agents as an atomic transaction. A "false" value tells that all successful inserts should be kept even if other inserts have failed.
        `autoCommit` - Specifies whether auto-commit changes being made of make them "pending".
      Returns:
        Asynchronous request ID
      Throws:
        `java.rmi.RemoteException`

    - #### deleteState

          java.lang.String deleteState(int scheduleID,
                                     int siteID,
                                     int[] teamIDArray,
                                     int[] agentIDArray,
                                     int[] contractIDFilter,
                                     SchStateID[] stateIDFilter,
                                     SchState[] states,
                                     boolean ignoreWarnings,
                                     boolean allOrNothing,
                                     boolean autoCommit)
                                       throws java.rmi.RemoteException

      Deletes specified scheduled state(s) from agent(s) schedules. This operation is asynchronous and so an ID of asynchronous request is returned. Use Session service to check progress of asynchronous request. Use function GetRequestValidation to retrieve results.
      Parameters:
        `scheduleID` - Schedule (Scenario) identifier. It's zero for Master Schedule
        `siteID` - Site ID
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `contractIDFilter` - Contract ID array. Defines filter for agent contracts. Not used if "null".
        `stateIDFilter` - `SchStateID` array. Specifies to include only those agent days that contain specified schedule states.
        `states` - An array of `SchState`. Every states start/end times specify start and end date time of the time window where specified scheduled states should be located for delete operation. A scheduled state is assumed inside window even it is partially inside it.
        `ignoreWarnings` - If "true" tells to proceed with delete even if there were warnings.
        `allOrNothing` - If "true" tells that all scheduled states should be successfully deleted for all specified agents as an atomic transaction. A "false" value tells that all successful deletes should be kept even if other deletes have failed.
        `autoCommit` - Specifies whether auto-commit changes being made of make them "pending".
      Returns:
        Asynchronous request ID
      Throws:
        `java.rmi.RemoteException`

    - #### getRequestValidation

          SchValidationHolder getRequestValidation(java.lang.String requestID)
                                                   throws java.rmi.RemoteException

      Used to retrieve validation (error/warning) messages after completion of such asynchronous operations as insertState, deleteState, saveAgentDayAsync.
      Parameters:
        `requestID` - Asynchronous request ID
      Returns:
        `SchValidationHolder`
      Throws:
        `java.rmi.RemoteException`

    - #### findAgentInSnapshot

          int findAgentInSnapshot(java.lang.String schSnapshotID,
                                int field,
                                java.lang.String value,
                                int startIndex)
                                  throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### getPlanningPeriod

          SchPlanningPeriod[] getPlanningPeriod(int scheduleID,
                                              int siteID,
                                              double startDate,
                                              double endDate)
                                                throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### commitPendingAgentDay

          java.lang.String commitPendingAgentDay(int scheduleID,
                                               int siteID,
                                               double[] days,
                                               int[] teamIDArray,
                                               int[] agentIDArray,
                                               int[] contractIDFilter,
                                               SchStateID[] stateIDFilter)
                                                 throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### rollbackPendingAgentDay

          java.lang.String rollbackPendingAgentDay(int scheduleID,
                                                 int siteID,
                                                 double[] days,
                                                 int[] teamIDArray,
                                                 int[] agentIDArray,
                                                 int[] contractIDFilter,
                                                 SchStateID[] stateIDFilter)
                                                   throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### openPendingAgentDaySnapshot

          SchSnapshot openPendingAgentDaySnapshot(int scheduleID,
                                                int siteID,
                                                double startDate,
                                                double endDate,
                                                int[] userIDAray,
                                                int[] teamIDArray,
                                                int[] agentIDArray,
                                                int groupMode,
                                                int sortMode,
                                                boolean ascending)
                                                  throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### fetchPendingAgentDayFromSnapshot

          SchAgentDayHolder fetchPendingAgentDayFromSnapshot(java.lang.String schSnapshotID,
                                                           int firstIndex,
                                                           int lastIndex,
                                                           int stateLayout,
                                                           int[] excludeStates,
                                                           boolean provideStateInfo,
                                                           boolean provideAgentInfo,
                                                           boolean provideOvertime,
                                                           boolean provideTeamInfo,
                                                           boolean provideContractInfo,
                                                           boolean provideAvailabilityInfo)
                                                             throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### validatePendingAgentDayFromSnapshot

          SchValidationHolder validatePendingAgentDayFromSnapshot(java.lang.String schSnapshotID,
                                                                int[] indexArray)
                                                                  throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### commitPendingAgentDayFromSnapshot

          java.lang.String commitPendingAgentDayFromSnapshot(java.lang.String schSnapshotID,
                                                           int[] indexArray)
                                                             throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### rollbackPendingAgentDayFromSnapshot

          java.lang.String rollbackPendingAgentDayFromSnapshot(java.lang.String schSnapshotID,
                                                             int[] indexArray)
                                                               throws java.rmi.RemoteException

      Throws:
        `java.rmi.RemoteException`

    - #### pollNotification

          SchNotification pollNotification(long timestamp,
                                         int siteID,
                                         int[] teamIDArray,
                                         int[] agentIDArray,
                                         double schStartDate,
                                         double schEndDate,
                                         int detailsLevel,
                                         int stateLayout,
                                         int[] excludeStates,
                                         boolean provideStateInfo,
                                         boolean provideAgentInfo,
                                         boolean provideTeamInfo,
                                         boolean provideContractInfo)
                                           throws java.rmi.RemoteException

      Polls schedule change notification
      Parameters:
        `timestamp` - A timestamp value to use as a baseline for notifications. A timestamp value to use as a baseline for notifications. A zero value implies current moment and negative value tells server to use last acknowledged timestamp as a baseline.
        `siteID` - Site ID
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `schStartDate` - Start date of schedule range that needs to be tracked for changes. `OleDateTime`
        `schEndDate` - End date of schedule range that needs to be tracked for changes. `OleDateTime`
        `detailsLevel` - Notification details level `ESchAuditLevel`
        `stateLayout` - Schedule state layout of returned schedules `ESchStateLayout`
        `excludeStates` - List of schedule state types `ESchStateType` that should be excluded from returned schedule.
        `provideStateInfo` - Specifies to provide schedule state descriptive info or not
        `provideAgentInfo` - Tells whether to provide short agent information about every unique agent in response.
        `provideTeamInfo` - Tells whether to provide short team information about every unique team in response.
        `provideContractInfo` - Tells whether to provide short Contract information about every unique contract in response.
      Returns:
        `SchNotification`
      Throws:
        `java.rmi.RemoteException`

    - #### acknowledgeNotification

          void acknowledgeNotification(int siteID,
                                     long timestamp)
                                       throws java.rmi.RemoteException

      Acknowledges to the server that notification was received and processed. See also `pollNotification(long, int, int[], int[], double, double, int, int, int[], boolean, boolean, boolean, boolean)`.
      Parameters:
        `siteID` - Site ID
        `timestamp` - A timestamp value from `SchNotification` returned by `pollNotification(long, int, int[], int[], double, double, int, int, int[], boolean, boolean, boolean, boolean)`
      Throws:
        `java.rmi.RemoteException`

    - #### getAuditLogAsync

          java.lang.String getAuditLogAsync(int siteID,
                                          int[] teamIDArray,
                                          int[] agentIDArray,
                                          double schStartDate,
                                          double schEndDate,
                                          double actionStartDateTime,
                                          double actionEndDateTime,
                                          int[] actionTypes,
                                          int[] actionUsers,
                                          int detailsLevel,
                                          int stateLayout,
                                          int[] excludeStates)
                                            throws java.rmi.RemoteException

      Reads schedule audit log in async mode.
      Parameters:
        `siteID` - Site ID
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `schStartDate` - Start date of schedule range that you are interested in. Can be null. `OleDateTime`
        `schEndDate` - End date of schedule range that you are interested in. Can be null. `OleDateTime`
        `actionStartDateTime` - Start date+time of action time range. It is always in GMT timezone. Can be null to ignore. `OleDateTime`
        `actionEndDateTime` - End date+time of action time range. It is always in GMT timezone. Can be null to ignore. `OleDateTime`
        `actionTypes` - Action type filter `ESchActionType`. Can be null.
        `actionUsers` - User ID filter. Can be null.
        `detailsLevel` - Audit log details level `ESchAuditLevel`
        `stateLayout` - Schedule state layout of returned schedules `ESchStateLayout`
        `excludeStates` - List of schedule state types `ESchStateType` that should be excluded from returned schedule.
      Returns:
        Async request ID
      Throws:
        `java.rmi.RemoteException`

    - #### getAuditLogResults

          SchAuditLog getAuditLogResults(java.lang.String requestID,
                                       int stateLayout,
                                       boolean provideStateInfo,
                                       boolean provideAgentInfo,
                                       boolean provideTeamInfo,
                                       boolean provideContractInfo,
                                       boolean provideScenarioInfo,
                                       boolean provideUserInfo)
                                         throws java.rmi.RemoteException

      Parameters:
        `requestID` - Async request ID that was returned by `getAuditLogAsync(int, int[], int[], double, double, double, double, int[], int[], int, int, int[])`.
        `stateLayout` - Schedule state layout of returned schedules `ESchStateLayout`
        `provideStateInfo` - Specifies to provide schedule state descriptive info or not
        `provideAgentInfo` - Tells whether to provide short agent information about every unique agent in response.
        `provideTeamInfo` - Tells whether to provide short team information about every unique team in response.
        `provideContractInfo` - Tells whether to provide short Contract information about every unique contract in response.
        `provideScenarioInfo` - Tells whether to provide `SchScenarioShort` information about every unique scenario in response.
        `provideUserInfo` - Tells whether to provide short user information about every unique user in response.
      Returns:
        `SchAuditLog`
      Throws:
        `java.rmi.RemoteException`

    - #### getAuditLogByID

          SchAuditLog getAuditLogByID(long auditID,
                                    int siteID,
                                    int[] teamIDArray,
                                    int[] agentIDArray,
                                    double schStartDate,
                                    double schEndDate,
                                    int detailsLevel,
                                    int stateLayout,
                                    int[] excludeStates,
                                    boolean provideStateInfo,
                                    boolean provideAgentInfo,
                                    boolean provideTeamInfo,
                                    boolean provideContractInfo,
                                    boolean provideScenarioInfo,
                                    boolean provideUserInfo)
                                      throws java.rmi.RemoteException

      Returns information about specific schedule audit transaction.
      Parameters:
        `auditID` - An ID of specific Schedule Audit Transaction `SchAuditTransaction`
        `siteID` - Site ID
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `schStartDate` - Start date of schedule range that you are interested in. Can be null. `OleDateTime`
        `schEndDate` - End date of schedule range that you are interested in. Can be null. `OleDateTime`
        `detailsLevel` - Audit log details level `ESchAuditLevel`
        `stateLayout` - Schedule state layout of returned schedules `ESchStateLayout`
        `excludeStates` - List of schedule state types `ESchStateType` that should be excluded from returned schedule.
        `provideStateInfo` - Specifies to provide schedule state descriptive info or not
        `provideAgentInfo` - Tells whether to provide short agent information about every unique agent in response.
        `provideTeamInfo` - Tells whether to provide short team information about every unique team in response.
        `provideContractInfo` - Tells whether to provide short Contract information about every unique contract in response.
        `provideScenarioInfo` - Tells whether to provide `SchScenarioShort` information about every unique scenario in response.
        `provideUserInfo` - Tells whether to provide short user information about every unique user in response.
      Returns:
        `SchAuditLog`
      Throws:
        `java.rmi.RemoteException`

    - #### rollbackAuditTransaction

          long rollbackAuditTransaction(long auditID,
                                      int siteID,
                                      int[] teamIDArray,
                                      int[] agentIDArray,
                                      double schStartDate,
                                      double schEndDate)
                                        throws java.rmi.RemoteException

      Rolls back current schedule to specific Schedule Audit Transaction from the past.
      Parameters:
        `auditID` - An ID of Schedule Audit Transaction to which to rollback schedule state.
        `siteID` - Site ID
        `teamIDArray` - Team ID filter. Can be "null" meaning "any team"
        `agentIDArray` - Agent ID filter. Can be null meaning "all agents for specified teams". If teams were not specified - means "all agents".
        `schStartDate` - Start date of schedule range that you are interested in. Can be null. `OleDateTime`
        `schEndDate` - End date of schedule range that you are interested in. Can be null. `OleDateTime`
      Returns:
        New timestamp/transaction ID value
      Throws:
        `java.rmi.RemoteException`

    - #### buildAgentDayInSnapshot

          SchAgentDayHolder buildAgentDayInSnapshot(java.lang.String schSnapshotID,
                                                  SchAgentDay[] newSchedule,
                                                  SchAgentDay[] modifiedSchedule,
                                                  int stateLayout,
                                                  int[] excludeStates,
                                                  boolean provideStateInfo,
                                                  boolean provideActivitySetInfo,
                                                  boolean provideOvertime,
                                                  boolean provideTradeEligibility)
                                                    throws java.rmi.RemoteException

      Builds complete schedule shifts with optimal breal/meal distibution for given schedule shifts and based on existing schedule snapshot
      Parameters:
        `schSnapshotID` - Schedule Snapshot ID
        `newSchedule` - Schedule shifts that need to be built
        `modifiedSchedule` - Other modified but not saved agent days
        `stateLayout` - Schedule state layout of returned schedules `ESchStateLayout`
        `excludeStates` - List of schedule state types `ESchStateType` that should be excluded from returned schedule.
        `provideStateInfo` - Specifies to provide schedule state descriptive info or not
        `provideActivitySetInfo` - Tells whether to fill-in schActivitySetInfo field in SchAgentDay
        `provideOvertime` - Tells whether to calculate "wmOvertimeMinutes" field in Schedule Day returned
        `provideTradeEligibility` - Tells whether to check "eligibleForTrade" field in Schedule Day returned
      Returns:
        `SchAgentDayHolder`
      Throws:
        `java.rmi.RemoteException`

    - #### buildAgentDay

          SchAgentDayHolder buildAgentDay(int scheduleID,
                                        int siteID,
                                        SchAgentDay[] newSchedule,
                                        int stateLayout,
                                        int[] excludeStates,
                                        boolean provideStateInfo,
                                        boolean provideActivitySetInfo,
                                        boolean provideOvertime,
                                        boolean provideTradeEligibility)
                                          throws java.rmi.RemoteException

      Builds complete schedule shifts with optimal breal/meal distibution for given schedule shifts
      Parameters:
        `scheduleID` - Schedule ID
        `siteID` - Site ID
        `newSchedule` - Schedule shifts that need to be built
        `stateLayout` - Schedule state layout of returned schedules `ESchStateLayout`
        `excludeStates` - List of schedule state types `ESchStateType` that should be excluded from returned schedule.
        `provideStateInfo` - Specifies to provide schedule state descriptive info or not
        `provideActivitySetInfo` - Tells whether to fill-in schActivitySetInfo field in SchAgentDay
        `provideOvertime` - Tells whether to calculate "wmOvertimeMinutes" field in Schedule Day returned
        `provideTradeEligibility` - Tells whether to check "eligibleForTrade" field in Schedule Day returned
      Returns:
        `SchAgentDayHolder`
      Throws:
        `java.rmi.RemoteException`

Copyright © 2005-2016 Genesys Telecommunications Labs, Inc. All Rights Reserved.